<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>dev-student-grouping-end-to-end-test Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/changes</link><description>dev-student-grouping-end-to-end-test Git changes</description><item><title>#43 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-student-grouping-end-to-end-test/43/changes#detail0</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/43/changes#detail0</guid><pubDate>Thu, 4 Jun 2026 15:03:39 +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>#42 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-student-grouping-end-to-end-test/42/changes#detail0</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/42/changes#detail0</guid><pubDate>Thu, 4 Jun 2026 07:00:01 +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>#41 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-student-grouping-end-to-end-test/41/changes#detail0</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/41/changes#detail0</guid><pubDate>Wed, 3 Jun 2026 12:56:47 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#39 initial commit (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail0</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail0</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentFilter.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
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/list/AssignmentListViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/AssignmentDataSource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 initial commit (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail1</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail1</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#39 initial commit (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail2</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail2</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#39 Refactor and modularize Maestro E2E test flows for admin and class management. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail3</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail3</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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_new_teacher_to_class.yaml
.maestro/flows/subflows/admin_add_app_and_teacher.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#39 update assignment deatils screen with student progression section (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail4</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail4</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Update Maestro flows for assignment management and class member creation. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail5</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail5</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending-flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/school_user_login_flow.yaml
</description></item><item><title>#39 test: update field labels in Maestro assignment flow (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail6</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail6</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending-flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#39 bring everything that is in lib-database from Ustad into Respect (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail7</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail7</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StateEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrolmentRequest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentSubmissionFile.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentProgressSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ErrorReport.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/XapiSessionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LeavingReason.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroupAssignmentSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CacheLockJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryRelatedEntryJoinWithLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/GroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzWithDisplayDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SiteTerms.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryPicture2.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/StatementReportData.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PeerReviewerAllocationList.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzWithHolidayCalendarAndAndTerminology.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonAuth.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroupWithMemberCount.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/HolidayCalendarWithNumEntries.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/TransferJobError.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SystemPermission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryButtonModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryVersion.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UmAccount.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityInteractionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Language.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Schedule.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonAuth2.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CoursePicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ConnectivityStatus.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Clazz.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PeerReviewerAllocation.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UidAndLabel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryImportJob.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzLog.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzAssignment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentWithAttemptSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StatementEntityJson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJobItemParentChildJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ScopedGrantAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/XapiEntityObjectTypeFlags.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryRelatedEntryJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/VerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPostWithDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StatementContextActivityJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonNameAndUid.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DeletedItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Holiday.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithLeavingReason.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Site.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroupMember.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryContentCategoryJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AverageCourseAssignmentMark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzLogAttendanceRecordWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LangUidAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJob.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseTerminology.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryRelatedEntryJoinWithLangName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ScopedGrant.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UserSession.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPostWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryWithAttemptsSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryParentChildJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SiteTermsWithLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithClazz.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzLogAttendanceRecord.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzInvite.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskey.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Message.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StateEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/StudentResult.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ParentEnrolmentRequired.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/TransferJobItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/HolidayCalendar.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/XapiSessionEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Comments.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonParentJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryStatementScoreProgress.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ScopedGrantWithName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/TransferJob.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryWithLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/StatementEntityAndDisplayDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJobItemProgress.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/OfflineItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseGroupMember.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzAssignmentRollUp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StateDeleteCommand.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/ActorUidEtagAndLastMod.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentCategory.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentMarkWithPersonMarker.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithClazzAndAttendance.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentSubmitterAndAllocations.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/VerbLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentSubmitterSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/GroupMemberActorJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityLangMapEntryDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentMark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseGroupMemberAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StateDeleteCommandDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/VerbDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentCategorySchema.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LanguageVariant.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CoursePermission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryWithBlockAndLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonUidAndPasswordHash.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzWithListDisplayDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonAndDisplayDetail.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentSubmission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPost.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonWithAttemptsSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ExternalAppPermission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EntityConstants.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DistinctCategorySchema.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseBlockPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UserSessionAndPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJobItemProgressAndStatus.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroup.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Moment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzAssignmentCourseBlockAndSubmitterUid.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/VerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseGroupSet.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseBlock.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DownloadJobSizeInfo.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonParentJoinAndMinorPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonWithSessionsDisplay.kt
</description></item><item><title>#39 code refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail8</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail8</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CoursePicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseTerminology.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrolmentRequest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DistinctCategorySchema.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPostWithDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPostWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DeletedItem.kt
</description></item><item><title>#39 add xapi related composites (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail9</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail9</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/VerbEntityAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/VerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementAndActivity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndRelated.kt
</description></item><item><title>#39 remove unwanted files (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail10</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail10</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentSubmissionFile.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrolmentRequest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentProgressSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ErrorReport.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LeavingReason.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroupAssignmentSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CacheLockJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryRelatedEntryJoinWithLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzWithDisplayDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SiteTerms.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryPicture2.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/StatementReportData.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PeerReviewerAllocationList.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzWithHolidayCalendarAndAndTerminology.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonAuth.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroupWithMemberCount.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/HolidayCalendarWithNumEntries.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/TransferJobError.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SystemPermission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryButtonModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UmAccount.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryVersion.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Language.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Schedule.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonAuth2.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ConnectivityStatus.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CoursePicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Clazz.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PeerReviewerAllocation.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UidAndLabel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryImportJob.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzLog.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzAssignment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentWithAttemptSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJobItemParentChildJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ScopedGrantAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryRelatedEntryJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPostWithDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonNameAndUid.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DeletedItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Holiday.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithLeavingReason.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Site.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroupMember.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryContentCategoryJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AverageCourseAssignmentMark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzLogAttendanceRecordWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LangUidAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJob.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseTerminology.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryRelatedEntryJoinWithLangName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ScopedGrant.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UserSession.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPostWithPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryWithAttemptsSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryParentChildJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SiteTermsWithLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithClazz.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzLogAttendanceRecord.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzInvite.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskey.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Message.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/StudentResult.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/TransferJobItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ParentEnrolmentRequired.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/HolidayCalendar.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Comments.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonParentJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryStatementScoreProgress.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ScopedGrantWithName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryWithLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/TransferJob.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/StatementEntityAndDisplayDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJobItemProgress.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/OfflineItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseGroupMember.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzAssignmentRollUp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentCategory.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentMarkWithPersonMarker.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzEnrolmentWithClazzAndAttendance.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentSubmitterAndAllocations.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentSubmitterSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentMark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseGroupMemberAndName.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentCategorySchema.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LanguageVariant.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CoursePermission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentEntryWithBlockAndLanguage.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonUidAndPasswordHash.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzWithListDisplayDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonAndDisplayDetail.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseAssignmentSubmission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DiscussionPost.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonWithAttemptsSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EntityConstants.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ExternalAppPermission.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DistinctCategorySchema.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseBlockPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/UserSessionAndPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ContentJobItemProgressAndStatus.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPicture.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonGroup.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/Moment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClazzAssignmentCourseBlockAndSubmitterUid.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseGroupSet.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/CourseBlock.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/DownloadJobSizeInfo.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonParentJoinAndMinorPerson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonWithSessionsDisplay.kt
</description></item><item><title>#39 Initial Xapi Statement serialization model and test. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail11</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail11</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContext.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContextActivities.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiObjectType.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementObject.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiException.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiGroup.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatement.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiInteractionType.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiVerb.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAccount.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json
respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAgent.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiResult.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActor.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/Attachment.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActivity.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/State.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementRef.kt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json
</description></item><item><title>#39 Update XapiStatement property types to use Instant and Duration where appr (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail12</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail12</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiResult.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatement.kt
respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt
</description></item><item><title>#39 Initial implementation of converting Xapi models into local db entities. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail13</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail13</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StateEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StateEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/XapiSessionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/XapiSessionEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/GroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StateDeleteCommand.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/VerbLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiContextActivitiesAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndRelated.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntityJson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityInteractionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/VerbLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/GroupMemberActorJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StateDeleteCommandDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/VerbDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StatementEntityJson.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ListExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/GroupMemberActorJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StateEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/XapiEntityObjectTypeFlags.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/VerbEntityAndName.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiVerb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/VerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/StatementContextActivityJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementAndActivity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/xapi/ActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StateDeleteCommand.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/VerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/VerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
</description></item><item><title>#39 Minor tidyup of typing. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail14</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail14</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatement.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContext.kt
</description></item><item><title>#39 Add StoreActivitiesUseCase and requirements. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail15</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail15</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StateDeleteCommandDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/VerbDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StateEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityLangMapEntryDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/VerbDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/XapiSessionEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StateEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityLangMapEntryDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatement.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/GroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityInteractionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StateDeleteCommandDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/VerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt
respect-datalayer-db/build.gradle.kts
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/Attachment.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAttachment.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/StatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/VerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityInteractionDao.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityEntityDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiState.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/GroupMemberActorJoinDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/State.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/xapi/ActivityLangMapEntryDaoCommon.kt
</description></item><item><title>#39 Initial commit of a version of XapiStatementDataSourceDb.kt that compiles. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail16</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail16</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/ActorUidEtagAndLastMod.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/GroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorDaoExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSource.kt
</description></item><item><title>#39 Update StatementEntities on XapiStatemenTAdapter to follow the same pattern as other adapter data classes. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail17</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail17</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt
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-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSourceLocal.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json
respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
</description></item><item><title>#39 Adapter to convert from Xapi Statement entities into (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail18</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail18</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntityObjectTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/StatementDbEntities.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAccount.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementAndActivity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
</description></item><item><title>#39 Improvements to storing xapi activity in the database. Introduce enums to replace integer flags on room entities. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail19</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail19</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityLangMapEntryDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntityPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActivity.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntryPropEnum.kt
</description></item><item><title>#39 Improvements for XapiActivity database storage: use enum for interaction type. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail20</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail20</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiInteractionTypeEnum.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiInteractionType.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActivity.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
</description></item><item><title>#39 Xapi Statement and Activity storage: work in progress. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail21</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail21</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementRef.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
</description></item><item><title>#39 Refactor sample statements into a single module. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail22</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail22</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-lib-test-resources/build.gradle.kts
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json
respect-datalayer/build.gradle.kts
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json
respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json
settings.gradle.kts
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json
respect-datalayer-db/build.gradle.kts
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json
respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json
respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json
respect-lib-test-resources/README.md
respect-datalayer/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json
</description></item><item><title>#39 Update handling of sample statements. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail23</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail23</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAgent.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiObjectType.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatement.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt
respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
</description></item><item><title>#39 Implement assertions to check proper serialization of Xapi Activity. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail24</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail24</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntityPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
</description></item><item><title>#39 Add Xapi assertions to validate expected/actual statement object. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail25</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail25</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
</description></item><item><title>#39 Further improvements to converting statements to/from entities and assertions (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail26</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail26</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiGroup.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
</description></item><item><title>#39 xAPI entity improvements (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail27</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail27</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoin.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActorEntityTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiContextActivitiesAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoinTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
</description></item><item><title>#39 Improvements to handling activity entities conversion. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail28</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail28</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiContextActivitiesAdapter.kt
</description></item><item><title>#39 Improvements to handling statement storage to/from entities. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail29</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail29</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContextActivities.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContext.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSource.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementObject.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiContextActivitiesAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActivity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSourceLocal.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActivityDefinition.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActorExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt
</description></item><item><title>#39 Improve handling serialization/deserialization of xapi activities and actors (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail30</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail30</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
</description></item><item><title>#39 Handle serialization/deserialization and tests for statement context activities. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail31</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail31</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
</description></item><item><title>#39 Improvements to handling storing / updating Xapi Activities. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail32</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail32</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.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/xapi/daos/StatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntry.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/daos/ActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityInteractionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntity.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityEntity.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.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/composites/StatementDbEntities.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntityPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndRelated.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntityJson.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityEntityDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntity.kt
</description></item><item><title>#39 Fix handling of last modified time for XapiActivity db datasource. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail33</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail33</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorDaoExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/GroupMemberActorJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiGroup.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.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/daos/ActorDao.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSourceLocal.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#39 Initial implementation of converting statements from database entities back to the model. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail34</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail34</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.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/xapi/daos/VerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/VerbDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/GroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt
</description></item><item><title>#39 Work in progress implementation of deserializing statements from the database. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail35</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail35</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoin.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityDataSourceDb.kt
</description></item><item><title>#39 Update XapiStatementDataSourceDbTest to use new database for each example statement. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail36</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail36</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
</description></item><item><title>#39 Handle context activity joins for substatement. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail37</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail37</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
</description></item><item><title>#39 Standardize Xapi class names in datalayer-db (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail38</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail38</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/xapi/daos/XapiStatementEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/VerbDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StateEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.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/entities/XapiActivityInteractionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityLangMapEntryPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActorEntityTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/VerbLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoin.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityLangMapEntryDaoCommon.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/GroupMemberActorJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActorEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StateEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/ActivityInteractionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StateDeleteCommand.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StateDeleteCommandDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementContextActivityJoinTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/StatementEntityObjectTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/VerbEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/VerbLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityInteractionEntityPropEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/ActivityExtensionEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/StatementContextActivityJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/GroupMemberActorJoinDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt
</description></item><item><title>#39 Implement Xapi Statement search by agent and related agents. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail39</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail39</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/xapi/XapiStatementDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSource.kt
</description></item><item><title>#39 Add support for since/until search in XapiStatementDataSourceDb (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail40</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail40</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/xapi/XapiStatementDataSourceDb.kt
</description></item><item><title>#39 Move statements read into a transaction. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail41</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail41</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt
</description></item><item><title>#39 Fix compilation of http and repo modules (still just using the local package). (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail42</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail42</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
</description></item><item><title>#39 Initial implementation of xapi statements search by activity uid. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail43</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail43</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/xapi/XapiStatementDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSource.kt
</description></item><item><title>#39 Include substatement, where present, in related activities search as per spec. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail44</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail44</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
</description></item><item><title>#39 Add support for order and limit in XapiStatementDataSourceDb (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail45</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail45</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/xapi/XapiStatementDataSourceDb.kt
</description></item><item><title>#39 add student flow ui (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail46</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail46</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 update assignment deatil screen with dummy statement data (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail47</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail47</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDbTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSourceLocal.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementDataSourceHttp.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
</description></item><item><title>#39 update assignment deatil screen with dummy statement data (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail48</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail48</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail49</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail49</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail50</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail50</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiDummyDataGenerator.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#39 resolve conflict (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail51</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail51</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 update getAssignmentResult on repository (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail52</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail52</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail53</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail53</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
</description></item><item><title>#39 add Assignment xAPI Recipe in edi, list, deatil screen (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail54</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail54</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiVerb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentMapper.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail55</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail55</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Update Maestro flows for assignment management and class member creation. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail56</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail56</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending-flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/create_account_for_class_member.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/school_user_login_flow.yaml
</description></item><item><title>#39 remove Assignmententity and related classes (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail57</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail57</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/AssignmentDataSourceLocal.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/AssignmentDataSource.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AssignmentRoute.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Assignment.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentEntityDao.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/SchoolDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentEntity.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#39 Move `003_admin_user_assigns_assignment_to_a_class_test.yaml` to `pending-flows` and add an xAPI verification script. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail58</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail58</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending-flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#39 Update Maestro assignment flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail59</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail59</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending-flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows-disabled/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail60</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail60</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail61</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail61</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentFilter.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/LocalDateExt.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/util/AssignmentListScreenFilter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail62</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail62</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAgent.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiResult.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentMapper.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContext.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiContextActivities.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActor.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiObjectType.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAttachment.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementObject.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiException.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiGroup.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatement.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiInteractionTypeEnum.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiVerb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiAccount.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiState.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementRef.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiActivityDefinition.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail63</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail63</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail64</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail64</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 change assignment detail and edit screens to use XapiStatement instead of Assignment model (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail65</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail65</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiDummyDataGenerator.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.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
</description></item><item><title>#39 resolve conflict (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail66</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail66</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Implement comments in AssignmentEdit (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail67</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail67</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail68</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail68</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#39 improve list screen (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail69</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail69</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentMapper.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAssignmentConstants.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.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/entities/XapiAssignmentSummaryEntityRow.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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail70</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail70</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail71</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail71</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiDummyDataGenerator.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail72</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail72</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail73</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail73</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
</description></item><item><title>#39 Update Maestro E2E test flows for assignment management and app browsing. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail74</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail74</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending-flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/admin_add_app.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail75</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail75</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail76</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail76</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 clean up AssignmentDetail,Edit screens and viewmodels (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail77</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail77</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/detail/AssignmentDetailViewModel.kt
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/list/AssignmentListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 Remove role selection from admin add teacher subflow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail78</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail78</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
</description></item><item><title>#39 remove getAssignmentSummaries function (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail79</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail79</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAssignmentConstants.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentSummaryEntityRow.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail80</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail80</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
</description></item><item><title>#39 resolve conflicts (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail81</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail81</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 Update Maestro flows for assignment and class management to use dynamic class names. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail82</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail82</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
.maestro/flows/subflows/admin_add_new_student_to_class.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#39 Update Maestro flows to reduce the number of students in the assignment test class. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail83</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail83</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/admin_add_class_with_members.yaml
</description></item><item><title>#39 Add xapiAgent property to RespectSessionAndPerson (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail84</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail84</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt
</description></item><item><title>#39 Add Uuid opt-in to respect-app-compose and respect-lib-shared. (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail85</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail85</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/build.gradle.kts
respect-app-compose/build.gradle.kts
</description></item><item><title>#39 Add studentsXapiGroup function (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail86</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail86</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail87</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail87</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 fix ui (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail88</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail88</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 Update Maestro test flows for assignments and move onboarding tests to pending. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail89</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail89</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/pending-flows/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/pending-flows/001_003_login_using_school_link_test.yaml
.maestro/pending-flows/001_005_add_school_self_registration_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/pending-flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/pending-flows/002_browse_lessons_test.yaml
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail90</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail90</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.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/ext/XapiAssignmentProgressExt.kt
</description></item><item><title>#39 Add publication extension readme. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail91</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail91</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md
</description></item><item><title>#39 fix assignment detail viewmodel (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail92</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail92</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail93</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail93</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 remove  hardcoded English string literals (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail94</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail94</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail95</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail95</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 Update Maestro assignment flow to uncomment and refine UI assertions. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail96</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail96</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Update LaunchAppUseCase to set activity id argument as per GetXapiActivityForPublicationUseCase to ensure this is set consistently. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail97</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail97</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt
respect-lib-xapi-core/README.md
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#39 Change the return type of getAssignmentProgress so that the datasource can take care of loading the assignment statement. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail98</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail98</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt
</description></item><item><title>#39 Chagne GetStatementParams.agent parameter type to XapiActor because the spec allows for this to be an identified group. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail99</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail99</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
</description></item><item><title>#39 Refactor assignment detail screen and edit screen (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail100</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail100</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 Refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail101</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail101</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/edit/AssignmentEditScreen.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/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail102</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail102</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/xapi/XapiAssignmentExt.kt
</description></item><item><title>#39 Refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail103</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail103</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Refactor AssignmentDetailViewModel. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail104</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail104</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 Fixes for AssignmentEditViewModel.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail105</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail105</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Fix serialization of XapiGroup: As per Xapi spec XapiGroup objectType must be group, must not be null. Must add custom serializer to ensure default property is still serialized. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail106</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail106</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt
</description></item><item><title>#39 Refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail107</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail107</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt
</description></item><item><title>#39 Refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail108</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail108</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
</description></item><item><title>#39 Fix for XapiActorSerializer: had incorrect use of jsonPrimitive.content (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail109</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail109</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt
</description></item><item><title>#39 Refactor (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail110</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail110</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#39 Rework handling of xAPI parameters in http statements datasource (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail111</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail111</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsParamsExt.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt
</description></item><item><title>#39 Add missing verb parameter to XapiStatementsResourceHttp (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail112</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail112</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
</description></item><item><title>#39 Add missing since/until to fromParams in XapiStatementsResource (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail113</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail113</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
</description></item><item><title>#39 Change Person.asAgent to use only guid to avoid the actor id changing when username is first set. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail114</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail114</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt
</description></item><item><title>#39 Update Maestro E2E test flows and move several tests from pending to active. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail115</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail115</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/pending-flows/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/pending-flows/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/pending-flows/001_005_add_school_self_registration_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/pending-flows/002_browse_lessons_test.yaml
.maestro/pending-flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#39 moved tests to pendifolder to focus on 003 (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail116</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail116</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/pending-flows/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/pending-flows/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/pending-flows/001_005_add_school_self_registration_test.yaml
.maestro/pending-flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/pending-flows/002_browse_lessons_test.yaml
</description></item><item><title>#39 Cleanup of AssignmentDetailScreen Jetpack compose UI (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail117</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail117</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt
respect-server/well-known/terms.html
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt
respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html
</description></item><item><title>#39 Correct name on XapiAssignmentProgress and ResultRow from rawScore to scoreScaled. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail118</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail118</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentProgress.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.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/xapi/composites/XapiAssignmentResultRow.kt
</description></item><item><title>#39 Cleanup of AssignmentDetailScreen work in progress. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail119</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail119</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentProgress.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
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/ext/XapiAssignmentProgressExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt
</description></item><item><title>#39 Cleanup of AssignmentDetailScreen work in progress. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail120</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail120</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
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/ext/XapiAssignmentProgressExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt
</description></item><item><title>#39 Cleanup AssignmentDetailScreen when viewed as student. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail121</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail121</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentProgress.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/composites/XapiAssignmentTaskProgress.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.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/adapters/XapiAssignmentResultRowAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt
</description></item><item><title>#39 AssignmentEdit UI tidyup in progress. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail122</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail122</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentLearningUnitRef.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Assignment.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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/langMapString.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt
</description></item><item><title>#39 AssignmentEdit tidyup: use ListItme not our own mix of columns/rows. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail123</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail123</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt
</description></item><item><title>#39 Fix mistake in XapiStatementsResourceDb that would set the wrong activity id on an empty result. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail124</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail124</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
</description></item><item><title>#39 Merge fix to set xapi activity id correctly for empty assignment result. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail125</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail125</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
</description></item><item><title>#39 Temporary test relaxation. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail126</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail126</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Update XapiStatementResourceDb to check if statement object is missing a required objectType value and throw exception if needed. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail127</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail127</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-lib-xapi-core/build.gradle.kts
</description></item><item><title>#39 Update getAssignmentProgress to handle order of activities and avoid potential to lose web pub manifest url if activity were to be updated. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail128</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail128</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
</description></item><item><title>#39 Temporary test relaxations on filter chips and list screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail129</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail129</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Add improved assignment demo result learning unit. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail130</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail130</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt
respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md
respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json
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/icon.png
respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html
respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json
</description></item><item><title>#39 Update Maestro E2E test flows for assignment management and class member creation. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail131</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail131</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/subflows/create_account_for_class_member.yaml
</description></item><item><title>#39 Remove redundant assertions and taps from the admin assignment flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail132</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail132</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Add fields to assignable unit completion. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail133</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail133</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js
</description></item><item><title>#39 Fix AssignmentEditViewModel bug: timestamp was not being updated when saving, which led to undefined results when editing/updating. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail134</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail134</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Clean up `003_admin_user_assigns_assignment_to_a_class_test.yaml` Maestro flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail135</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail135</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Update Maestro test flow for assignment management. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail136</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail136</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/subflows/admin_add_class_with_members.yaml
</description></item><item><title>#39 Fix total counts in filter chips on Assignment Detail in student mode. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail137</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail137</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
</description></item><item><title>#39 Fix filtering of assignment result rows for a particular student. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail138</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail138</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
</description></item><item><title>#39 Update Maestro assignment flow test data and assertions. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail139</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail139</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Update Maestro flow for admin assignment to improve navigation and verification. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail140</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail140</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Update statement maker demos to show text after statement submitted successfully. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail141</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail141</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/statementmaker/index.html
respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js
</description></item><item><title>#39 Add assertions for statement delivery confirmation in Maestro assignment flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail142</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail142</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Update WebViewActivity to allow http/https mixed content for localhost. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail143</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail143</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt
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/js/xapi_statement_maker.js
</description></item><item><title>#39 Fix NanoHttpd handling of CORS headers. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail144</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail144</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt
</description></item><item><title>#39 Move Maestro E2E test flows from pending to active status. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail145</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail145</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/pending-flows/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/pending-flows/001_003_login_using_school_link_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/pending-flows/001_005_add_school_self_registration_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/pending-flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/pending-flows/002_browse_lessons_test.yaml
</description></item><item><title>#39 Work in progress fixes for AssignmentList screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail146</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail146</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.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/XapiStatementsResourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt
</description></item><item><title>#39 Look for both resultContext.completion and completed verb to check for assignment completion. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail147</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail147</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Fixes/improvements for assignment listing/summaries: (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail148</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail148</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityDataSourceDb.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Fixes/improvements for assignments listing: (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail149</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail149</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Fix query checking number of students who completed assignment for list summary screen. Update XapiStatementsResourceRepository to load all completed and assign verb statements are loaded. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail150</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail150</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
</description></item><item><title>#39 Tighten up assignment list query to check for use of the assignment recipe. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail151</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail151</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.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/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt
</description></item><item><title>#39 Add average score to student assignment list results. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail152</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail152</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt
</description></item><item><title>#39 Move add school maestro test to pending flows: this is being disabled anyhow (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail153</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail153</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_005_add_school_self_registration_test.yaml
.maestro/flows-pending/001_005_add_school_self_registration_test.yaml
</description></item><item><title>#39 Put in empty state message for assignment and class list screens. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail154</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail154</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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/components/RespectEmptyListComponent.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Block statement submission with the same id. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail155</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail155</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiConflictException.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiException.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt
</description></item><item><title>#39 Add additional xapi statement validations. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail156</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail156</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.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/XapiRequire.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt
</description></item><item><title>#39 Remove visibility assertions for removed filter chips on assignment list screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail157</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail157</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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>#39 Add database migration for Xapi tables. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail158</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail158</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt
</description></item><item><title>#39 Add initial xapi statement write permission check. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail159</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail159</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +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-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt
</description></item><item><title>#39 Add Xapi read permission checks. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail160</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail160</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.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/xapi/daos/XapiStatementEntityJsonDao.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt
</description></item><item><title>#39 Implement auth user enforcement for Nanohttpd. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail161</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail161</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt
respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdResourceProvider.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiNanoHttpdResourceProviderAndroid.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
</description></item><item><title>#39 Hide assignments when logged in as parent. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail162</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail162</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt
</description></item><item><title>#39 Update handling of Xapi Activity extension updates: use a merge/update approach for canonical definition. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail163</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail163</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityDataSourceDb.kt
</description></item><item><title>#39 Handle parsing deadline on assignment list screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail164</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail164</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.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/xapi/adapters/XapiActivityAdapter.kt
</description></item><item><title>#39 Handle display of task icon(s) on assignment. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail165</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail165</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt
</description></item><item><title>#39 Fix learning unit detail screen to show assign button as expected. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail166</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail166</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt
</description></item><item><title>#39 Fetch all CMI5 verbs that might have completion data for assignment list screen summary. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail167</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail167</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
</description></item><item><title>#39 Add country dropdown to get started screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-student-grouping-end-to-end-test/39/changes#detail168</link><guid isPermaLink="false">job/dev-student-grouping-end-to-end-test/39/changes#detail168</guid><pubDate>Tue, 2 Jun 2026 15:09:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/6.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/5.json
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt
respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt
respect-lib-shared/src/androidMain/resources/directories/default.properties
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt
respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt
respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt
</description></item></channel></rss>