{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by mikedawson"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev-simplified-onboarding-release-learningtree" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 3,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
            "branch" : [
              {
                "SHA1" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
                "name" : "refs/remotes/origin/dev-simplified-onboarding-release-learningtree"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
            "branch" : [
              {
                "SHA1" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
                "name" : "refs/remotes/origin/dev-simplified-onboarding-release-learningtree"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
        "branch" : [
          {
            "SHA1" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
            "name" : "refs/remotes/origin/dev-simplified-onboarding-release-learningtree"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/UstadMobile/UstadMobile.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 2,
      "totalCount" : 331,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "app-android-benchmarkRelease.apk",
      "fileName" : "app-android-benchmarkRelease.apk",
      "relativePath" : "app-android/build/outputs/apk/benchmarkRelease/app-android-benchmarkRelease.apk"
    },
    {
      "displayPath" : "app-android-debug.apk",
      "fileName" : "app-android-debug.apk",
      "relativePath" : "app-android/build/outputs/apk/debug/app-android-debug.apk"
    },
    {
      "displayPath" : "app-android-nonMinifiedRelease.apk",
      "fileName" : "app-android-nonMinifiedRelease.apk",
      "relativePath" : "app-android/build/outputs/apk/nonMinifiedRelease/app-android-nonMinifiedRelease.apk"
    },
    {
      "displayPath" : "app-android-release.apk",
      "fileName" : "app-android-release.apk",
      "relativePath" : "app-android/build/outputs/apk/release/app-android-release.apk"
    },
    {
      "displayPath" : "app-android-benchmarkRelease.aab",
      "fileName" : "app-android-benchmarkRelease.aab",
      "relativePath" : "app-android/build/outputs/bundle/benchmarkRelease/app-android-benchmarkRelease.aab"
    },
    {
      "displayPath" : "app-android-debug.aab",
      "fileName" : "app-android-debug.aab",
      "relativePath" : "app-android/build/outputs/bundle/debug/app-android-debug.aab"
    },
    {
      "displayPath" : "app-android-nonMinifiedRelease.aab",
      "fileName" : "app-android-nonMinifiedRelease.aab",
      "relativePath" : "app-android/build/outputs/bundle/nonMinifiedRelease/app-android-nonMinifiedRelease.aab"
    },
    {
      "displayPath" : "app-android-release.aab",
      "fileName" : "app-android-release.aab",
      "relativePath" : "app-android/build/outputs/bundle/release/app-android-release.aab"
    },
    {
      "displayPath" : "benchmarkRelease/mapping.txt",
      "fileName" : "mapping.txt",
      "relativePath" : "app-android/build/outputs/mapping/benchmarkRelease/mapping.txt"
    },
    {
      "displayPath" : "release/mapping.txt",
      "fileName" : "mapping.txt",
      "relativePath" : "app-android/build/outputs/mapping/release/mapping.txt"
    },
    {
      "displayPath" : "ustad-server.zip",
      "fileName" : "ustad-server.zip",
      "relativePath" : "app-ktor-server/build/distributions/ustad-server.zip"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#3",
  "duration" : 780721,
  "estimatedDuration" : 1126658,
  "executor" : None,
  "fullDisplayName" : "dev-simplified-onboarding-release-learningtree2 #3",
  "id" : "3",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 3,
  "queueId" : 2660,
  "result" : "SUCCESS",
  "timestamp" : 1747151698735,
  "url" : "https://devserver3.ustadmobile.com/jenkins/job/dev-simplified-onboarding-release-learningtree2/3/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002_user_registration_above_age_13.yaml",
          "test-end-to-end/android-maestro/common/new-student-registration-details.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_009_user_registration_email_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_010_user_registration_phone_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_003_user_registration_below_age_13.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_008_user_registration_mandatory_fields_test.yaml",
          "test-end-to-end/android-maestro/common/enable_user_registration.yaml"
        ],
        "commitId" : "3dabd43ce56581e9594e98427849d355ad72be0b",
        "timestamp" : 1718792136000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4 -5\u000a",
        "date" : "2024-06-19 14:15:36 +0400",
        "id" : "3dabd43ce56581e9594e98427849d355ad72be0b",
        "msg" : "checklist 4 -5",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_003_user_registration_below_age_13.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/new-student-registration-details.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/enable_user_registration.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_009_user_registration_email_field_verification.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_010_user_registration_phone_field_verification.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_008_user_registration_mandatory_fields_test.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002_user_registration_above_age_13.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt",
          "app-android/build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "gradle/libs.versions.toml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt",
          "lib-ui-compose/build.gradle.kts",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
        ],
        "commitId" : "5cce2654b1fefb69dc1bb9b935306a5436792355",
        "timestamp" : 1719470159000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "invite via contact ui created for android/desktop\u000a",
        "date" : "2024-06-27 12:05:59 +0530",
        "id" : "5cce2654b1fefb69dc1bb9b935306a5436792355",
        "msg" : "invite via contact ui created for android/desktop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt",
          "kotlin-js-store/yarn.lock",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/wrappers/reactchipsflield/ChipTextField.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt",
          "app-react/build.gradle",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt",
          "lib-ui-compose/build.gradle.kts",
          "build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "12c55673415efe921caa46d18b827f62c97ecba5",
        "timestamp" : 1719667283000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "chip text field changes\u000a",
        "date" : "2024-06-29 18:51:23 +0530",
        "id" : "12c55673415efe921caa46d18b827f62c97ecba5",
        "msg" : "chip text field changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "kotlin-js-store/yarn.lock"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/wrappers/reactchipsflield/ChipTextField.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadContactPickButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_009_user_registration_email_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_010_user_registration_phone_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_010_user_registration_phone_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_009_user_registration_email_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_006_admin_enable_or_disable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_008_user_registration_mandatory_fields_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_008_user_registration_mandatory_fields_test.yaml"
        ],
        "commitId" : "3e1d5546ee71f355969ea1d3f9f66019531f8793",
        "timestamp" : 1720000956000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Incomplete tests\u000a",
        "date" : "2024-07-03 14:02:36 +0400",
        "id" : "3e1d5546ee71f355969ea1d3f9f66019531f8793",
        "msg" : "Incomplete tests",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_010_user_registration_phone_field_verification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_009_user_registration_email_field_verification.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_010_user_registration_phone_field_verification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_009_user_registration_email_field_verification.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_006_admin_enable_or_disable_guest_login.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_008_user_registration_mandatory_fields_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_008_user_registration_mandatory_fields_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/173.json",
          "app-ktor-server/build.gradle",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/172.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
        ],
        "commitId" : "cfee2b46558e02e66df2f6a8e9a2a89310ef27d0",
        "timestamp" : 1720011221000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "clazzinvite added to dp, processinviteUsecase class create to send invite\u000a",
        "date" : "2024-07-03 18:23:41 +0530",
        "id" : "cfee2b46558e02e66df2f6a8e9a2a89310ef27d0",
        "msg" : "clazzinvite added to dp, processinviteUsecase class create to send invite",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/172.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/173.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
        ],
        "commitId" : "57fa7414cfab5e63d63ed676ad8fff7d33c10112",
        "timestamp" : 1720106815000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "route created for clazzinviteviacontact\u000a",
        "date" : "2024-07-04 20:56:55 +0530",
        "id" : "57fa7414cfab5e63d63ed676ad8fff7d33c10112",
        "msg" : "route created for clazzinviteviacontact",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "51a0a46e4d9daf55df1b4e11586c390a9bdb2b24",
        "timestamp" : 1720266150000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "ContactToServerUseCase created\u000a",
        "date" : "2024-07-06 17:12:30 +0530",
        "id" : "51a0a46e4d9daf55df1b4e11586c390a9bdb2b24",
        "msg" : "ContactToServerUseCase created",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactUploadRequest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "8162232371fb221d5a706c7e750691aefa3abd3a",
        "timestamp" : 1720512531000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "api response getting,\u000aui error cases handled\u000a",
        "date" : "2024-07-09 13:38:51 +0530",
        "id" : "8162232371fb221d5a706c7e750691aefa3abd3a",
        "msg" : "api response getting,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactUploadRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/enable_guest_login.yaml",
          "test-end-to-end/android-maestro/common/guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_006_admin_enable_or_disable_guest_login.yaml"
        ],
        "commitId" : "817ddc2bedc183a8accdd21781d83f84feb8b947",
        "timestamp" : 1720602280000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Guest login test\u000a",
        "date" : "2024-07-10 13:04:40 +0400",
        "id" : "817ddc2bedc183a8accdd21781d83f84feb8b947",
        "msg" : "Guest login test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/guest_login.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_guest_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_006_admin_enable_or_disable_guest_login.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/twilio/TwilioHttpClient.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SmsProperties.kt",
          "app-ktor-server/src/main/resources/application.conf",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCaseHttp.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt",
          "app-ktor-server/build.gradle",
          "gradle/libs.versions.toml"
        ],
        "commitId" : "53c7f0329175fb4cb3c3b4670a2705a917586d45",
        "timestamp" : 1720609407000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "twilio added for sms\u000aand invite via username also added\u000a",
        "date" : "2024-07-10 16:33:27 +0530",
        "id" : "53c7f0329175fb4cb3c3b4670a2705a917586d45",
        "msg" : "twilio added for sms",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCaseHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/twilio/TwilioHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SmsProperties.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "app-android/src/main/AndroidManifest.xml",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt",
          "app-ktor-server/src/main/resources/.well-known/assetlinks.json",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "94e8dd050a8ea76d7a7825f896784646154d4eff",
        "timestamp" : 1721042477000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "assetlink json created\u000a",
        "date" : "2024-07-15 16:51:17 +0530",
        "id" : "94e8dd050a8ea76d7a7825f896784646154d4eff",
        "msg" : "assetlink json created",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/resources/.well-known/assetlinks.json"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-ktor-server/well-known/assetlinks.json",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "701970445d26b5cf3f8a23608b1bd13baae8a43f",
        "timestamp" : 1721056854000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "data base version changes\u000a",
        "date" : "2024-07-15 20:50:54 +0530",
        "id" : "701970445d26b5cf3f8a23608b1bd13baae8a43f",
        "msg" : "data base version changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/well-known/assetlinks.json"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/well-known/assetlinks.json"
        ],
        "commitId" : "f3d3dd5b6e5f10a4306b2d369c3b4daede6c1c67",
        "timestamp" : 1721064905000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove hard coded assetlinks.json\u000a",
        "date" : "2024-07-15 21:35:05 +0400",
        "id" : "f3d3dd5b6e5f10a4306b2d369c3b4daede6c1c67",
        "msg" : "Remove hard coded assetlinks.json",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "app-ktor-server/well-known/assetlinks.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/.gitignore"
        ],
        "commitId" : "b02941e229806c2b714cb8756fccbedc481828e7",
        "timestamp" : 1721064946000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add well-known to gitignore\u000a",
        "date" : "2024-07-15 21:35:46 +0400",
        "id" : "b02941e229806c2b714cb8756fccbedc481828e7",
        "msg" : "Add well-known to gitignore",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/.gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-android/src/main/AndroidManifest.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzRedeemUseCase.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "66c860bdf6e085697a4cc17caf57b3490af202b0",
        "timestamp" : 1721124736000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "link json verified\u000a",
        "date" : "2024-07-16 15:42:16 +0530",
        "id" : "66c860bdf6e085697a4cc17caf57b3490af202b0",
        "msg" : "link json verified",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzRedeemUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzEnrolment.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzRedeemUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInviteWithTimeZone.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "0cd69ce309116c3dbe67011bb2bfa743843b1c76",
        "timestamp" : 1721222518000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "invite accept flow completed\u000a",
        "date" : "2024-07-17 18:51:58 +0530",
        "id" : "0cd69ce309116c3dbe67011bb2bfa743843b1c76",
        "msg" : "invite accept flow completed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzEnrolment.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzRedeemUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInviteWithTimeZone.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "111a8828d2b8f25aeabbb95b60e67e7bff6d0d13",
        "timestamp" : 1721363203000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "in web ui chip text fields connected with viewmodel\u000aand invite accept and decline screen created.\u000a\u000ain ClazzInvite invitestatus fieldadded\u000a",
        "date" : "2024-07-19 09:56:43 +0530",
        "id" : "111a8828d2b8f25aeabbb95b60e67e7bff6d0d13",
        "msg" : "in web ui chip text fields connected with viewmodel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
        ],
        "commitId" : "c4412e0c5109e11763389b93b64b1a779c777c2a",
        "timestamp" : 1721391583000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "withDoorTransactionAsync added in ProcessInviteUseCase\u000a",
        "date" : "2024-07-19 17:49:43 +0530",
        "id" : "c4412e0c5109e11763389b93b64b1a779c777c2a",
        "msg" : "withDoorTransactionAsync added in ProcessInviteUseCase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/enable_guest_login.yaml",
          "test-end-to-end/android-maestro/common/enable_user_registration.yaml"
        ],
        "commitId" : "c5b5b79e2e8da161053d255c5483fef0c87c9fdf",
        "timestamp" : 1722326111000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "settings issue resolved\u000a",
        "date" : "2024-07-30 11:55:11 +0400",
        "id" : "c5b5b79e2e8da161053d255c5483fef0c87c9fdf",
        "msg" : "settings issue resolved",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_user_registration.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002_user_registration_above_age_13.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002_user_registration_above_age_13.yaml",
          "test-end-to-end/android-maestro/common/new-student-registration-details.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_003_user_registration_below_age_13.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_003_user_registration_below_age_13.yaml"
        ],
        "commitId" : "dbce120605e8095cf80ecdb0d47570fd72c27bf2",
        "timestamp" : 1722335997000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in user accounts\u000a",
        "date" : "2024-07-30 14:39:57 +0400",
        "id" : "dbce120605e8095cf80ecdb0d47570fd72c27bf2",
        "msg" : "changes in user accounts",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_003_user_registration_below_age_13.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002_user_registration_above_age_13.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/new-student-registration-details.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002_user_registration_above_age_13.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_003_user_registration_below_age_13.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml"
        ],
        "commitId" : "0c8d2d176f47445bbc4025475d6a6d0bad25e076",
        "timestamp" : 1722342288000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in user accounts\u000a",
        "date" : "2024-07-30 16:24:48 +0400",
        "id" : "0c8d2d176f47445bbc4025475d6a6d0bad25e076",
        "msg" : "changes in user accounts",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLI.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/composites/LearningSpaceConfigAndInfo.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/CheckHostRoute.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Site.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
        ],
        "commitId" : "c1995c6828abdbfcc48392cfb8c7db39b12c0f82",
        "timestamp" : 1724424553000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement using the configuration from SystemDb to get the database url, username, and password for the learning space db.\u000a",
        "date" : "2024-08-23 18:49:13 +0400",
        "id" : "c1995c6828abdbfcc48392cfb8c7db39b12c0f82",
        "msg" : "Implement using the configuration from SystemDb to get the database url, username, and password for the learning space db.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/composites/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Site.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/CheckHostRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
        ],
        "commitId" : "eb8cf81600ec0a32344f7a0fe9bdae74de6853c5",
        "timestamp" : 1725434216000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "login flow update\u000a",
        "date" : "2024-09-04 11:16:56 +0400",
        "id" : "eb8cf81600ec0a32344f7a0fe9bdae74de6853c5",
        "msg" : "login flow update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml"
        ],
        "commitId" : "d2cc40e15f515b6f495a2c9ce5d828c346e39705",
        "timestamp" : 1725438825000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "login flow update\u000a",
        "date" : "2024-09-04 12:33:45 +0400",
        "id" : "d2cc40e15f515b6f495a2c9ce5d828c346e39705",
        "msg" : "login flow update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "3d3171736caba6e94f755a45dbfb958d8f9ff1b3",
        "timestamp" : 1725881526000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "login flow update\u000a",
        "date" : "2024-09-09 15:32:06 +0400",
        "id" : "3d3171736caba6e94f755a45dbfb958d8f9ff1b3",
        "msg" : "login flow update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryImportJob.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/SubtitleTrack.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/MediaContentInfo.kt"
        ],
        "commitId" : "36736b62c8efd2e9db3d49a0b2053a781433a78d",
        "timestamp" : 1725887670000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add parameters field to ContentEntryImportJob entity.\u000aAdd subtitletrack list to MediaContentInfo.\u000a",
        "date" : "2024-09-09 17:14:30 +0400",
        "id" : "36736b62c8efd2e9db3d49a0b2053a781433a78d",
        "msg" : "Add parameters field to ContentEntryImportJob entity.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryImportJob.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/MediaContentInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/SubtitleTrack.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card"
        ],
        "commitId" : "745630d8f518d58e6fde47ce8d9664d9a316da85",
        "timestamp" : 1726039740000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Create task_card issue template\u000a",
        "date" : "2024-09-11 11:29:00 +0400",
        "id" : "745630d8f518d58e6fde47ce8d9664d9a316da85",
        "msg" : "Create task_card issue template",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".github/ISSUE_TEMPLATE/task_card"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card"
        ],
        "commitId" : "bcbf9dcc6df6e3a971646729980a304a60a9cfd3",
        "timestamp" : 1726040639000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update task_card\u000a",
        "date" : "2024-09-11 11:43:59 +0400",
        "id" : "bcbf9dcc6df6e3a971646729980a304a60a9cfd3",
        "msg" : "Update task_card",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/task_card"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card",
          ".github/ISSUE_TEMPLATE/task_card.md"
        ],
        "commitId" : "f41a3e07dc31c8845c2eb6f1d960d38e282de1ba",
        "timestamp" : 1726040687000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Rename task_card to task_card.md\u000a",
        "date" : "2024-09-11 11:44:47 +0400",
        "id" : "f41a3e07dc31c8845c2eb6f1d960d38e282de1ba",
        "msg" : "Rename task_card to task_card.md",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".github/ISSUE_TEMPLATE/task_card.md"
          },
          {
            "editType" : "delete",
            "file" : ".github/ISSUE_TEMPLATE/task_card"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card.md"
        ],
        "commitId" : "150fa2ef63cb30f279a325eb6e7c20f0e6fba426",
        "timestamp" : 1726040763000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update task_card.md\u000a",
        "date" : "2024-09-11 11:46:03 +0400",
        "id" : "150fa2ef63cb30f279a325eb6e7c20f0e6fba426",
        "msg" : "Update task_card.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/task_card.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card.md"
        ],
        "commitId" : "c7cb0e61a19049aec70f0add7532b588e4eac8dc",
        "timestamp" : 1726040778000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update task_card.md\u000a",
        "date" : "2024-09-11 11:46:18 +0400",
        "id" : "c7cb0e61a19049aec70f0add7532b588e4eac8dc",
        "msg" : "Update task_card.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/task_card.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card.md"
        ],
        "commitId" : "c8ba1dec4ecc594b698a2b08a363b32615dcf9da",
        "timestamp" : 1726048310000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update task_card.md\u000a",
        "date" : "2024-09-11 13:51:50 +0400",
        "id" : "c8ba1dec4ecc594b698a2b08a363b32615dcf9da",
        "msg" : "Update task_card.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/task_card.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "c1c3d8e39eeb806d8eb20a5f9d8520bd2852c898",
        "timestamp" : 1726068460000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-11 19:27:40 +0400",
        "id" : "c1c3d8e39eeb806d8eb20a5f9d8520bd2852c898",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
        ],
        "commitId" : "11b52af798ff93b521844ad2275e9891b0daa91e",
        "timestamp" : 1726140655000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "004_004 test fix on cypress\u000a",
        "date" : "2024-09-12 15:30:55 +0400",
        "id" : "11b52af798ff93b521844ad2275e9891b0daa91e",
        "msg" : "004_004 test fix on cypress",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
        ],
        "commitId" : "31765a2da403a853bd9eb53b8adbddce526a1915",
        "timestamp" : 1726477179000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Maestro test fix\u000a",
        "date" : "2024-09-16 12:59:39 +0400",
        "id" : "31765a2da403a853bd9eb53b8adbddce526a1915",
        "msg" : "Maestro test fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "f8a5b3bce8c4ccb4ef92825b4c8c7242118cbf34",
        "timestamp" : 1726483135000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-16 14:38:55 +0400",
        "id" : "f8a5b3bce8c4ccb4ef92825b4c8c7242118cbf34",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "6d85ccfe4a141ce8b6fe633aed5855be8d4045a8",
        "timestamp" : 1726483278000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-16 14:41:18 +0400",
        "id" : "6d85ccfe4a141ce8b6fe633aed5855be8d4045a8",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "ba960ec06f6098a16525421e67780e4245157a9d",
        "timestamp" : 1726483574000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-16 14:46:14 +0400",
        "id" : "ba960ec06f6098a16525421e67780e4245157a9d",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
        ],
        "commitId" : "acd35c787f03e5c1fe04753345f3d9279ab49924",
        "timestamp" : 1726485249000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-16 15:14:09 +0400",
        "id" : "acd35c787f03e5c1fe04753345f3d9279ab49924",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "b7add018fcdfc0c0d88bda15f6d631fc42f9cb30",
        "timestamp" : 1726488463000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-16 16:07:43 +0400",
        "id" : "b7add018fcdfc0c0d88bda15f6d631fc42f9cb30",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
        ],
        "commitId" : "6a001ff41e6b895ccedb4bcb0815c2ee47c63439",
        "timestamp" : 1726489935000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Maestro test fix\u000a",
        "date" : "2024-09-16 16:32:15 +0400",
        "id" : "6a001ff41e6b895ccedb4bcb0815c2ee47c63439",
        "msg" : "Maestro test fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseLocal.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/getmetadata/ContentEntryGetMetadataScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/SubtitleTrack.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/video/VideoContentImporterCommonJvm.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getsubtitle/GetSubtitleViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/getsubtitle/GetSubtitleScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/subtitleedit/SubtitleEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ProgressOrErrorMessage.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UstadSavedStateHandleExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/ContentImporter.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/subtitleedit/SubtitleEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "test-end-to-end/test-files/content/subtitles.vtt"
        ],
        "commitId" : "40714a9db1b4c50dec91d8f6d8f1cadd3f70ddcb",
        "timestamp" : 1726502918000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress adding support for the user to add subtitles when adding video content.\u000a",
        "date" : "2024-09-16 20:08:38 +0400",
        "id" : "40714a9db1b4c50dec91d8f6d8f1cadd3f70ddcb",
        "msg" : "Work in progress adding support for the user to add subtitles when adding video content.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/video/VideoContentImporterCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/SubtitleTrack.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/subtitles.vtt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/subtitleedit/SubtitleEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/subtitleedit/SubtitleEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getsubtitle/GetSubtitleViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/ContentImporter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UstadSavedStateHandleExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/getsubtitle/GetSubtitleScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/getmetadata/ContentEntryGetMetadataScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ProgressOrErrorMessage.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseLocal.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_009_user_registration_email_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002_user_registration_above_age_13.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_010_user_registration_phone_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_008_user_registration_mandatory_fields_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_personal_account_new_user_flow.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_existing_userflow.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/common/guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002b_user_registration_above_age_13_join_learning_space_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002d_user_registration_above_age_13_personal_account_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_003_user_registration_below_age_13.yaml"
        ],
        "commitId" : "daf6336f6db6aa7d34c399d2d3b1d09932c349cb",
        "timestamp" : 1726566188000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-17 13:43:08 +0400",
        "id" : "daf6336f6db6aa7d34c399d2d3b1d09932c349cb",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002b_user_registration_above_age_13_join_learning_space_username_password.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_personal_account_new_user_flow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_010_user_registration_phone_field_verification.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_003_user_registration_below_age_13.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_dob_field_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_008_user_registration_mandatory_fields_test.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_existing_userflow.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_009_user_registration_email_field_verification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002_user_registration_above_age_13.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
        ],
        "commitId" : "cee02ef929e3157e4c46314a8cbb78e2780454dc",
        "timestamp" : 1726570064000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-17 14:47:44 +0400",
        "id" : "cee02ef929e3157e4c46314a8cbb78e2780454dc",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_personal_account_new_user_flow.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
        ],
        "commitId" : "dc672e390aad45ffe49e4a4563f12345176bd6ea",
        "timestamp" : 1726575509000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-17 16:18:29 +0400",
        "id" : "dc672e390aad45ffe49e4a4563f12345176bd6ea",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_personal_account_new_user_flow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "3cb81206f7f3b09d227a41be81fc4845f486fe66",
        "timestamp" : 1726636133000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-18 09:08:53 +0400",
        "id" : "3cb81206f7f3b09d227a41be81fc4845f486fe66",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "PULLREQUEST-CHECKLIST.md"
        ],
        "commitId" : "f357fc02dfa4f98d0bd2f5e8935d932163f1c467",
        "timestamp" : 1726644813000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update PULLREQUEST-CHECKLIST.md\u000a",
        "date" : "2024-09-18 11:33:33 +0400",
        "id" : "f357fc02dfa4f98d0bd2f5e8935d932163f1c467",
        "msg" : "Update PULLREQUEST-CHECKLIST.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "PULLREQUEST-CHECKLIST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/test-descriptions/007_004_user_registration_dob_field_is_mandatory_test_description.md",
          "test-end-to-end/README.md",
          "test-end-to-end/test-descriptions/007_008_user_registration_mandatory_fields_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_008_user_registration_mandatory_fields_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_009_user_registration_email_field_verification.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002_user_registration_above_age_13.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_010_user_registration_phone_field_verification.yaml",
          "test-end-to-end/test-descriptions/007_009_user_registration_email_field_verification_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml",
          "test-end-to-end/test-descriptions/007_010_user_registration_phone_field_verification_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/test-descriptions/007_004_user_registration_mandatory_fields_test_description.md"
        ],
        "commitId" : "c21f30355b8b1df728a20a66ce429b38efcc4e13",
        "timestamp" : 1726649185000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-18 12:46:25 +0400",
        "id" : "c21f30355b8b1df728a20a66ce429b38efcc4e13",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/007_004_user_registration_mandatory_fields_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_010_user_registration_phone_field_verification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_009_user_registration_email_field_verification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_004_user_registration_dob_field_is_mandatory.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_010_user_registration_phone_field_verification_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002_user_registration_above_age_13.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_008_user_registration_mandatory_fields_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_004_user_registration_dob_field_is_mandatory_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_009_user_registration_email_field_verification_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_008_user_registration_mandatory_fields_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_003_user_registration_below_age_13.yaml"
        ],
        "commitId" : "9a7bd1a038401c78c258ebe3d6936cde8ccba0a5",
        "timestamp" : 1726650749000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-18 13:12:29 +0400",
        "id" : "9a7bd1a038401c78c258ebe3d6936cde8ccba0a5",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_003_user_registration_below_age_13.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002b_user_registration_above_age_13_join_learning_space_username_password.yaml"
        ],
        "commitId" : "2edb34d6b437d2df15cd76f4ceac1100f2d7f1af",
        "timestamp" : 1726650940000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in simplified on boarding\u000a",
        "date" : "2024-09-18 13:15:40 +0400",
        "id" : "2edb34d6b437d2df15cd76f4ceac1100f2d7f1af",
        "msg" : "changes in simplified on boarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002b_user_registration_above_age_13_join_learning_space_username_password.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/007_002d_user_registration_above_age_13_personal_account_username_password.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseLocal.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressOrErrorMessage.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/subtitleedit/SubtitleEditScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/edit/ContentEntryEditScreen.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/tmpfiles/CreateTempUriUseCaseCommonJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/tmpfiles/CreateTempUriUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/getmetadata/ContentEntryGetMetadataScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/getsubtitle/GetSubtitleScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriServerUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/IHttpRequestKtorExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/api/contentupload/GetSubtitleTrackServerRoute.kt"
        ],
        "commitId" : "a319cc6a7d5954732d6a41fdaadd14de15ebb4fd",
        "timestamp" : 1726673811000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress adding subtitle upload support for web version\u000a",
        "date" : "2024-09-18 19:36:51 +0400",
        "id" : "a319cc6a7d5954732d6a41fdaadd14de15ebb4fd",
        "msg" : "Work in progress adding subtitle upload support for web version",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/subtitleedit/SubtitleEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/getmetadata/ContentEntryGetMetadataScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/tmpfiles/CreateTempUriUseCaseCommonJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/IHttpRequestKtorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/edit/ContentEntryEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/getsubtitle/GetSubtitleScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/tmpfiles/CreateTempUriUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/api/contentupload/GetSubtitleTrackServerRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressOrErrorMessage.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/child/EditChildProfilesScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountExistingUserViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpEnterUsernamePasswordScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/child/EditChildProfilesScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/siteenterlink/LearningSpaceEnterLinkScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/chlid/AddChildProfilesScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountExistingUserScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingUserTypeViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewUserTypeViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/child/AddChildProfilesScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewOrExistingUserTypeScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingUserTypeScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/AddChildProfilesViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/child/ChildProfileItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/siteenterlink/SiteEnterLinkScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/SiteRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "app-react/src/jsMain/resources/img/onboarding_individual.svg",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/EditChildProfileViewModel.kt",
          "app-react/src/jsMain/resources/img/onboarding_add_org.svg",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "app-react/src/jsMain/resources/img/onboarding_existing.svg",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/child/AddChildProfilesScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpEnterUsernamePasswordScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/registerageredirect/RegisterAgeRedirectScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/chlid/EditChildProfilesScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewUserTypeScreen.kt"
        ],
        "commitId" : "2947dcb6e8c7b4925166528a55242d8b5821fa19",
        "timestamp" : 1726723749000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "web ui created\u000a",
        "date" : "2024-09-19 10:59:09 +0530",
        "id" : "2947dcb6e8c7b4925166528a55242d8b5821fa19",
        "msg" : "web ui created",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/registerageredirect/RegisterAgeRedirectScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/child/EditChildProfilesScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/chlid/EditChildProfilesScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/EditChildProfileViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/img/onboarding_individual.svg"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/siteenterlink/SiteEnterLinkScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/img/onboarding_existing.svg"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/chlid/AddChildProfilesScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/img/onboarding_add_org.svg"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/SiteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/AddChildProfilesViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingUserTypeViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpEnterUsernamePasswordScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/siteenterlink/LearningSpaceEnterLinkScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpEnterUsernamePasswordScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountExistingUserScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/child/EditChildProfilesScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/child/AddChildProfilesScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountExistingUserViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingUserTypeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewOrExistingUserTypeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewUserTypeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/child/AddChildProfilesScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewUserTypeViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/child/ChildProfileItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_members.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
        ],
        "commitId" : "cb95f4b94d3ffc88a173bdf78fa8d500973a1b30",
        "timestamp" : 1726728607000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in existing codes\u000a",
        "date" : "2024-09-19 10:50:07 +0400",
        "id" : "cb95f4b94d3ffc88a173bdf78fa8d500973a1b30",
        "msg" : "changes in existing codes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_members.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
        ],
        "commitId" : "8e57a6e8d32e62976679d5edd5c1de02ef647939",
        "timestamp" : 1726728655000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in existing codes\u000a",
        "date" : "2024-09-19 10:50:55 +0400",
        "id" : "8e57a6e8d32e62976679d5edd5c1de02ef647939",
        "msg" : "changes in existing codes",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "5b80c3ef4253c0be67905dace5a56b167e0cfd3c",
        "timestamp" : 1726731279000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-19 11:34:39 +0400",
        "id" : "5b80c3ef4253c0be67905dace5a56b167e0cfd3c",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "59a01b026f3768912d270e048f153bee4dce6316",
        "timestamp" : 1726731335000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-09-19 11:35:35 +0400",
        "id" : "59a01b026f3768912d270e048f153bee4dce6316",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt"
        ],
        "commitId" : "0908a8e766c4b18571d69b246195707946751953",
        "timestamp" : 1726747604000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement GetSubtitleTrackFromUriUseCaseJs\u000a",
        "date" : "2024-09-19 16:06:44 +0400",
        "id" : "0908a8e766c4b18571d69b246195707946751953",
        "msg" : "Implement GetSubtitleTrackFromUriUseCaseJs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryImportJob.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContentJobItemExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/subtitleedit/SubtitleEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/edit/ContentEntryEditScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/subtitleedit/SubtitleEditViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/subtitleedit/SubtitleEditScreen.kt"
        ],
        "commitId" : "f00b9ae1ed9175b2ea04fe98023bfd44c627e279",
        "timestamp" : 1726763773000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of support for user to specify subtitle files in ContentEntryEdit and SubtitleEdit. List of subtitles is stored on the ContentJobItem .\u000a",
        "date" : "2024-09-19 20:36:13 +0400",
        "id" : "f00b9ae1ed9175b2ea04fe98023bfd44c627e279",
        "msg" : "Initial implementation of support for user to specify subtitle files in ContentEntryEdit and SubtitleEdit. List of subtitles is stored on the ContentJobItem .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/subtitleedit/SubtitleEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/subtitleedit/SubtitleEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/subtitleedit/SubtitleEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContentJobItemExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/edit/ContentEntryEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryImportJob.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/edit/ContentEntryEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
        ],
        "commitId" : "5201b5a157a0328bb6323d693a79f58f779b5379",
        "timestamp" : 1726765734000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support for editing/removing subtitle tracks in ContentEntry.\u000a",
        "date" : "2024-09-19 21:08:54 +0400",
        "id" : "5201b5a157a0328bb6323d693a79f58f779b5379",
        "msg" : "Add support for editing/removing subtitle tracks in ContentEntry.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/edit/ContentEntryEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
        ],
        "commitId" : "4f603ec141f03ea6a88b6b2ed1b19c577d1174fe",
        "timestamp" : 1727098526000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "changes in RedirectViewModel\u000a",
        "date" : "2024-09-23 19:05:26 +0530",
        "id" : "4f603ec141f03ea6a88b6b2ed1b19c577d1174fe",
        "msg" : "changes in RedirectViewModel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/ContentManifestMap.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/SubtitleTrack.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/video/VideoContentImporterCommonJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/201.json"
        ],
        "commitId" : "96da1a6a488eab62adcc4e0d9981335f77766635",
        "timestamp" : 1727106185000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update handling of video media uris such that subtitle uris can use the same logic.\u000a",
        "date" : "2024-09-23 19:43:05 +0400",
        "id" : "96da1a6a488eab62adcc4e0d9981335f77766635",
        "msg" : "Update handling of video media uris such that subtitle uris can use the same logic.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/video/VideoContentImporterCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/201.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/ContentManifestMap.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/media/SubtitleTrack.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_existing_userflow.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
        ],
        "commitId" : "efbe25377f4186ba983b11a54f6e5bf071837920",
        "timestamp" : 1727165844000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "existing tests\u000a",
        "date" : "2024-09-24 12:17:24 +0400",
        "id" : "efbe25377f4186ba983b11a54f6e5bf071837920",
        "msg" : "existing tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_existing_userflow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_existing_userflow.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml"
        ],
        "commitId" : "5e4599c374e70733407a3fcbbad516c1b37d0dde",
        "timestamp" : 1727167832000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "existing tests with conditions\u000a",
        "date" : "2024-09-24 12:50:32 +0400",
        "id" : "5e4599c374e70733407a3fcbbad516c1b37d0dde",
        "msg" : "existing tests with conditions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_existing_userflow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
        ],
        "commitId" : "4812c982a16b702c35682b639ce0a215f0875e27",
        "timestamp" : 1727178695000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "preset learnning space check placed in NavControllerExt.kt\u000a",
        "date" : "2024-09-24 17:21:35 +0530",
        "id" : "4812c982a16b702c35682b639ce0a215f0875e27",
        "msg" : "preset learnning space check placed in NavControllerExt.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/friday.mp4",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentSubtitleTrack.kt",
          "test-end-to-end/test-files/content/friday-attribution.txt"
        ],
        "commitId" : "92613bb89c97fe986902e14082e0d1fc0cb78b03",
        "timestamp" : 1727190422000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add display of vtt subtitles to web version.\u000a",
        "date" : "2024-09-24 19:07:02 +0400",
        "id" : "92613bb89c97fe986902e14082e0d1fc0cb78b03",
        "msg" : "Add display of vtt subtitles to web version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/friday-attribution.txt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/friday.mp4"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentSubtitleTrack.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
        ],
        "commitId" : "a76c196d4b87607b0440df0bbdfb6fe5326de52f",
        "timestamp" : 1727195543000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add display of subtitles to Android VideoContentScreen .\u000a",
        "date" : "2024-09-24 20:32:23 +0400",
        "id" : "a76c196d4b87607b0440df0bbdfb6fe5326de52f",
        "msg" : "Add display of subtitles to Android VideoContentScreen .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_008_user_registration_mandatory_fields_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js",
          "test-end-to-end/webapp-cypress/cypress.config.js",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_dob_field_is_mandatory.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.cy.js"
        ],
        "commitId" : "770531d4edd03ba7ae85344368dee2fa36951a6b",
        "timestamp" : 1727260376000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress existing test changes\u000a",
        "date" : "2024-09-25 14:32:56 +0400",
        "id" : "770531d4edd03ba7ae85344368dee2fa36951a6b",
        "msg" : "Cypress existing test changes",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress.config.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_dob_field_is_mandatory.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_008_user_registration_mandatory_fields_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.cy.js"
        ],
        "commitId" : "3fda7b07c611fd066d93d310ad61b55b8f6f5ad3",
        "timestamp" : 1727263851000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress existing test changes\u000a",
        "date" : "2024-09-25 15:30:51 +0400",
        "id" : "3fda7b07c611fd066d93d310ad61b55b8f6f5ad3",
        "msg" : "Cypress existing test changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AppIcon.desktop.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/OtherSignUpOptionSelectionScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "lib-ui-compose/src/desktopMain/resources/img/logo.svg",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
        ],
        "commitId" : "f64418d8d4805b7d3050840d5106ecfd81b05784",
        "timestamp" : 1727268165000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "changes in web part\u000a",
        "date" : "2024-09-25 18:12:45 +0530",
        "id" : "f64418d8d4805b7d3050840d5106ecfd81b05784",
        "msg" : "changes in web part",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AppIcon.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/resources/img/logo.svg"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/OtherSignUpOptionSelectionScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "cypress.config.js"
        ],
        "commitId" : "8e24ca2dee1d383f5c720d4ab4d4b1fa58b226bf",
        "timestamp" : 1727268439000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress existing test changes\u000a",
        "date" : "2024-09-25 16:47:19 +0400",
        "id" : "8e24ca2dee1d383f5c720d4ab4d4b1fa58b226bf",
        "msg" : "Cypress existing test changes",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "cypress.config.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
        ],
        "commitId" : "80b056df2733602087dd10ec33a556f2c0dc8af3",
        "timestamp" : 1727350300000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "unit test added\u000a",
        "date" : "2024-09-26 17:01:40 +0530",
        "id" : "80b056df2733602087dd10ec33a556f2c0dc8af3",
        "msg" : "unit test added",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModelTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb/build.gradle.kts",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "61c167c2dbc5507edccd396fc21c0982d09204c0",
        "timestamp" : 1727431150000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add changes/todos for learning space list.\u000a",
        "date" : "2024-09-27 13:59:10 +0400",
        "id" : "61c167c2dbc5507edccd396fc21c0982d09204c0",
        "msg" : "Add changes/todos for learning space list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/AddNewPersonUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyPrompt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyResult.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyUseCaseImpl.kt",
          "gradle/libs.versions.toml",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/LoginWithPasskeyUseCaseImpl.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt",
          "lib-ui-compose/build.gradle.kts",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/passkey/PasskeyRequestJsonUseCase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/SavePersonPasskeyUseCase.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyPrompt.desktop.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyPrompt.android.kt"
        ],
        "commitId" : "6ef435d727ccce1ae56ff894df10bf8b46777a20",
        "timestamp" : 1727436827000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "pr comment\u000a",
        "date" : "2024-09-27 17:03:47 +0530",
        "id" : "6ef435d727ccce1ae56ff894df10bf8b46777a20",
        "msg" : "pr comment",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyPrompt.android.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/passkey/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/LoginWithPasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/AddNewPersonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyPrompt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyPrompt.desktop.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt"
        ],
        "commitId" : "d54d832c7e6cb2d50125c5b62f1e51d04dcd45c8",
        "timestamp" : 1727675134000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-09-30 11:15:34 +0530",
        "id" : "d54d832c7e6cb2d50125c5b62f1e51d04dcd45c8",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt"
        ],
        "commitId" : "0c39d6074e59ffb5b408ded1c00ccc0309613fbb",
        "timestamp" : 1727675976000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-09-30 11:29:36 +0530",
        "id" : "0c39d6074e59ffb5b408ded1c00ccc0309613fbb",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/ResponseExt.kt",
          "lib-ui-compose-videoplayer/src/desktopMain/kotlin/org/jetbrains/compose/videoplayer/DesktopVideoPlayer.kt"
        ],
        "commitId" : "5378b4749094fa839f90fa614a4fcf6e41d1708e",
        "timestamp" : 1727694535000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add display of subtitles to Android VideoContentScreen .\u000a",
        "date" : "2024-09-30 07:08:55 -0400",
        "id" : "5378b4749094fa839f90fa614a4fcf6e41d1708e",
        "msg" : "Add display of subtitles to Android VideoContentScreen .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/ResponseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/src/desktopMain/kotlin/org/jetbrains/compose/videoplayer/DesktopVideoPlayer.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "app-android/build.gradle",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/model/SystemDbNodeIdAndAuth.kt"
        ],
        "commitId" : "104e5657ccd412fd1298b38abdcabd0375882bfb",
        "timestamp" : 1727703520000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "worked on todo points\u000a",
        "date" : "2024-09-30 19:08:40 +0530",
        "id" : "104e5657ccd412fd1298b38abdcabd0375882bfb",
        "msg" : "worked on todo points",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/model/SystemDbNodeIdAndAuth.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
        ],
        "commitId" : "a903f4ab38321d2469a11598d4e9641b88483f8f",
        "timestamp" : 1727703695000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "added id\u000a",
        "date" : "2024-09-30 19:11:35 +0530",
        "id" : "a903f4ab38321d2469a11598d4e9641b88483f8f",
        "msg" : "added id",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "666835afa6e4d3137609d6ad76e4dfe6e73758d3",
        "timestamp" : 1727707991000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress code update\u000a",
        "date" : "2024-09-30 18:53:11 +0400",
        "id" : "666835afa6e4d3137609d6ad76e4dfe6e73758d3",
        "msg" : "Cypress code update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "c9f55eced31a8dea0a4d3196158443f7cfe023a1",
        "timestamp" : 1727708320000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress code update\u000a",
        "date" : "2024-09-30 18:58:40 +0400",
        "id" : "c9f55eced31a8dea0a4d3196158443f7cfe023a1",
        "msg" : "Cypress code update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "e6c9041056cb237fc21ee1e9b7b2d0b867ceeb3a",
        "timestamp" : 1727772177000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress code update\u000a",
        "date" : "2024-10-01 12:42:57 +0400",
        "id" : "e6c9041056cb237fc21ee1e9b7b2d0b867ceeb3a",
        "msg" : "Cypress code update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb/build.gradle.kts",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/composites/LearningSpaceConfigAndInfo.kt",
          "core/build.gradle"
        ],
        "commitId" : "e7bfda32d0dbae412401471a9d9cef41e515075e",
        "timestamp" : 1727775675000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "dependency issue fixed\u000a",
        "date" : "2024-10-01 15:11:15 +0530",
        "id" : "e7bfda32d0dbae412401471a9d9cef41e515075e",
        "msg" : "dependency issue fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/composites/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt"
        ],
        "commitId" : "a1940ed72dac7380c7024c1107889c30cbbae821",
        "timestamp" : 1727780827000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "port issue fixed\u000a",
        "date" : "2024-10-01 16:37:07 +0530",
        "id" : "a1940ed72dac7380c7024c1107889c30cbbae821",
        "msg" : "port issue fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
        ],
        "commitId" : "7229d934a578be59ecdf7d5b276fea0631befdb8",
        "timestamp" : 1727799100000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "instance changes\u000a",
        "date" : "2024-10-01 21:41:40 +0530",
        "id" : "7229d934a578be59ecdf7d5b276fea0631befdb8",
        "msg" : "instance changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
        ],
        "commitId" : "7ab4534787f4f028b462621cb8af0903eb4ef0f0",
        "timestamp" : 1728312936000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-10-07 20:25:36 +0530",
        "id" : "7ab4534787f4f028b462621cb8af0903eb4ef0f0",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
        ],
        "commitId" : "221eff5b5cc440d464c1fe8a9bf9f5549d8e14b8",
        "timestamp" : 1728468914000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
          "fullName" : "Nikunj Sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-10-09 15:45:14 +0530",
        "id" : "221eff5b5cc440d464c1fe8a9bf9f5549d8e14b8",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDb.kt"
        ],
        "commitId" : "387d1259a04e0815f4e010443f0d94bec20a42b4",
        "timestamp" : 1728535253000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add required door entities to SystemDb.\u000a",
        "date" : "2024-10-09 21:40:53 -0700",
        "id" : "387d1259a04e0815f4e010443f0d94bec20a42b4",
        "msg" : "Add required door entities to SystemDb.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDb.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
        ],
        "commitId" : "a29b51dce7f48802318102145595913f5df42a3f",
        "timestamp" : 1728535543000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Change endpoint for SystemDb in UstadApp DI.\u000a",
        "date" : "2024-10-09 21:45:43 -0700",
        "id" : "a29b51dce7f48802318102145595913f5df42a3f",
        "msg" : "Change endpoint for SystemDb in UstadApp DI.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
        ],
        "commitId" : "7552f201399fcf27d1115d45fba47422a8d3a730",
        "timestamp" : 1728649498000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "commit\u000a",
        "date" : "2024-10-11 17:54:58 +0530",
        "id" : "7552f201399fcf27d1115d45fba47422a8d3a730",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIDeleteLearningSpace.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceApiRoute.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/update/UpdateLearningSpaceUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIUpdateLearningSpace.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
        ],
        "commitId" : "dddcbcd6d683174b00d1f2b82a385c225b5da220",
        "timestamp" : 1729402418000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "command added\u000a",
        "date" : "2024-10-20 11:03:38 +0530",
        "id" : "dddcbcd6d683174b00d1f2b82a385c225b5da220",
        "msg" : "command added",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIDeleteLearningSpace.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceApiRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIUpdateLearningSpace.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/update/UpdateLearningSpaceUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/session/ResumeOrStartXapiSessionRoute.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/201.json"
        ],
        "commitId" : "85b963af015be404c03085bbdea68449e43ff39a",
        "timestamp" : 1729420047000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Workaround for issue #970 xapi session data from previous session crashes Articulate content\u000a\u000aChange ResumeOrStartXapiSessionUseCase to only resume an xapi session where the contentEntryVersionUid matches.\u000a",
        "date" : "2024-10-20 14:27:27 +0400",
        "id" : "85b963af015be404c03085bbdea68449e43ff39a",
        "msg" : "Workaround for issue #970 xapi session data from previous session crashes Articulate content",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/session/ResumeOrStartXapiSessionRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/201.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
        ],
        "commitId" : "1162fef321c7ab4b7ad0e5244fb897d7b275583b",
        "timestamp" : 1729428135000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump database version.\u000a",
        "date" : "2024-10-20 16:42:15 +0400",
        "id" : "1162fef321c7ab4b7ad0e5244fb897d7b275583b",
        "msg" : "Bump database version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/dist/systemd/ustad-server.service"
        ],
        "commitId" : "a20073c4dc8d596dde2fd561d15399fb2fbd3320",
        "timestamp" : 1729428208000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ustad-server.service to use auto restart.\u000a",
        "date" : "2024-10-20 16:43:28 +0400",
        "id" : "a20073c4dc8d596dde2fd561d15399fb2fbd3320",
        "msg" : "Update ustad-server.service to use auto restart.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/dist/systemd/ustad-server.service"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseLocal.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriServerUseCase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "lib-ui-compose-videoplayer/README.md",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/202.json"
        ],
        "commitId" : "0cd825d9470f0e52bc8d59279dc16010cd784e28",
        "timestamp" : 1729436190000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update subtitle implementation: automatically set the lang code based on current user locale.\u000a",
        "date" : "2024-10-20 18:56:30 +0400",
        "id" : "0cd825d9470f0e52bc8d59279dc16010cd784e28",
        "msg" : "Update subtitle implementation: automatically set the lang code based on current user locale.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/202.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIDeleteLearningSpace.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "806b1498cc017bb446d6ff06e01a6ec8a368bd8b",
        "timestamp" : 1729497466000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "delete dir code added\u000a",
        "date" : "2024-10-21 13:27:46 +0530",
        "id" : "806b1498cc017bb446d6ff06e01a6ec8a368bd8b",
        "msg" : "delete dir code added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIDeleteLearningSpace.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/AbstractContentImporterTest.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/compress/list/UnzippedEntryExt.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporter.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/contentformats/ContentImportersDiModuleJvm.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporterTest.kt"
        ],
        "commitId" : "01373c6734b708b74e5a1e5469cff2fd4e5223cb",
        "timestamp" : 1729521126000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improve handling of mime type when importing H5P and XAPI.\u000a\u000aWhen importing H5P and XAPI zip the mime type is determined by file extensions (unlike with EPUBs where it is explicitly specified). Hence H5PContentImporter and XapiZipContentImporter need to use the MimeTypeHelper to determine the mime type so that SaveLocalUriAsBlob understands which content should be gzipped.\u000a\u000aFix EmbeddedHttpServer to prevent NanoHTTPD generating invalid gzipped responses. NanoHTTPD adds an extra content-encoding: gzip header without removing the content-encoding: identity header.\u000a\u000aUse XapiJson when generating the Xapi link to avoid encoding default parameters in the Xapi URL.\u000a",
        "date" : "2024-10-21 18:32:06 +0400",
        "id" : "01373c6734b708b74e5a1e5469cff2fd4e5223cb",
        "msg" : "Improve handling of mime type when importing H5P and XAPI.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/compress/list/UnzippedEntryExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/contentformats/ContentImportersDiModuleJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/AbstractContentImporterTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporterTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "2aca35655e7e2a1ad80eb32ecda8fe25652d928a",
        "timestamp" : 1729521154000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version.\u000a",
        "date" : "2024-10-21 18:32:34 +0400",
        "id" : "2aca35655e7e2a1ad80eb32ecda8fe25652d928a",
        "msg" : "Bump version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt",
          "build.gradle"
        ],
        "commitId" : "28398ba3a629cc6105118322ec260b39d1dda994",
        "timestamp" : 1729526902000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix XapiContentImporterTest, Bump version.\u000a",
        "date" : "2024-10-21 20:08:22 +0400",
        "id" : "28398ba3a629cc6105118322ec260b39d1dda994",
        "msg" : "Fix XapiContentImporterTest, Bump version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt"
        ],
        "commitId" : "30651093037462b61609019eff6f73eaed5cb1e8",
        "timestamp" : 1729527701000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "commit\u000a",
        "date" : "2024-10-21 21:51:41 +0530",
        "id" : "30651093037462b61609019eff6f73eaed5cb1e8",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/README.md"
        ],
        "commitId" : "20cbf3c9fae0093de7dc771804ab504e22a891be",
        "timestamp" : 1729580976000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "readme updated to test passkey\u000a",
        "date" : "2024-10-22 12:39:36 +0530",
        "id" : "20cbf3c9fae0093de7dc771804ab504e22a891be",
        "msg" : "readme updated to test passkey",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/README.md"
        ],
        "commitId" : "bea3aaa78502bbe975a838ee9c24745c7bbc222f",
        "timestamp" : 1729581059000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "readme updated to test passkey\u000a",
        "date" : "2024-10-22 12:40:59 +0530",
        "id" : "bea3aaa78502bbe975a838ee9c24745c7bbc222f",
        "msg" : "readme updated to test passkey",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/proguard-rules.pro",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
        ],
        "commitId" : "cf50dce5f7f394bb11288c480fcd24765b13f5c2",
        "timestamp" : 1729680786000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "crash fixed\u000a",
        "date" : "2024-10-23 16:23:06 +0530",
        "id" : "cf50dce5f7f394bb11288c480fcd24765b13f5c2",
        "msg" : "crash fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/proguard-rules.pro"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detail/ContentEntryDetailScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptScreen.kt"
        ],
        "commitId" : "01e4664df8ababc54289e7fd7f7d7cfb09227d95",
        "timestamp" : 1729836976000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Task-Attempt List\u000aAdd attempts tab to content detail screen\u000a",
        "date" : "2024-10-25 11:46:16 +0530",
        "id" : "01e4664df8ababc54289e7fd7f7d7cfb09227d95",
        "msg" : "Task-Attempt List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detail/ContentEntryDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose-videoplayer/src/desktopMain/kotlin/org/jetbrains/compose/videoplayer/DesktopVideoPlayer.kt",
          "lib-ui-compose-videoplayer/src/commonMain/kotlin/org/jetbrains/compose/videoplayer/VideoPlayer.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "build.gradle",
          "test-end-to-end/webapp-cypress/README.md"
        ],
        "commitId" : "96e597cd0a9c3645c403835da764896d35221dd7",
        "timestamp" : 1730042412000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add subtitle support for Desktop.\u000a",
        "date" : "2024-10-27 19:20:12 +0400",
        "id" : "96e597cd0a9c3645c403835da764896d35221dd7",
        "msg" : "Add subtitle support for Desktop.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/src/commonMain/kotlin/org/jetbrains/compose/videoplayer/VideoPlayer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/src/desktopMain/kotlin/org/jetbrains/compose/videoplayer/DesktopVideoPlayer.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/ustad-appconfig.sh",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIDeleteLearningSpace.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLI.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-ktor-server/ustad-appconfig.bat",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIUpdateLearningSpace.kt",
          "app-react/src/jsMain/resources/index.html",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
        ],
        "commitId" : "f2e4b31bfa41b777326fee44e3e7c96bb945c5be",
        "timestamp" : 1730095209000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
          "fullName" : "Nikunjs.0011"
        },
        "authorEmail" : "Nikunjs.0011@gmail.com",
        "comment" : "ustad-appconfig command added\u000a",
        "date" : "2024-10-28 11:30:09 +0530",
        "id" : "f2e4b31bfa41b777326fee44e3e7c96bb945c5be",
        "msg" : "ustad-appconfig command added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLI.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/ustad-appconfig.sh"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/resources/index.html"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIDeleteLearningSpace.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/ustad-appconfig.bat"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLIUpdateLearningSpace.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "build.gradle"
        ],
        "commitId" : "ec10725aee4391a7f9797d86d96d30c2492f2006",
        "timestamp" : 1730111415000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix handling of database upgrade for ContentEntryImportJob entity.\u000a",
        "date" : "2024-10-28 14:30:15 +0400",
        "id" : "ec10725aee4391a7f9797d86d96d30c2492f2006",
        "msg" : "Fix handling of database upgrade for ContentEntryImportJob entity.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/ustad-appconfig.sh",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "data/system.db-shm",
          "app-ktor-server/ustad-appconfig.bat",
          "data/ustadcache.db-shm",
          "data/admin.txt",
          "data/ustadcache.db",
          "data/system.db",
          "data/system.db-wal",
          "ustad-appconfig.bat",
          "data/quartz.properties",
          "ustad-appconfig.sh",
          "data/quartz.script",
          "data/ustadcache.db-wal",
          "app-react/src/jsMain/resources/index.html"
        ],
        "commitId" : "2a6578fe85c3799efe4c0950c2ef117677aa5b69",
        "timestamp" : 1730201811000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-10-29 17:06:51 +0530",
        "id" : "2a6578fe85c3799efe4c0950c2ef117677aa5b69",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ustad-appconfig.bat"
          },
          {
            "editType" : "add",
            "file" : "data/quartz.script"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "data/ustadcache.db-wal"
          },
          {
            "editType" : "add",
            "file" : "data/admin.txt"
          },
          {
            "editType" : "add",
            "file" : "data/quartz.properties"
          },
          {
            "editType" : "add",
            "file" : "data/system.db"
          },
          {
            "editType" : "add",
            "file" : "data/ustadcache.db"
          },
          {
            "editType" : "add",
            "file" : "ustad-appconfig.sh"
          },
          {
            "editType" : "add",
            "file" : "data/ustadcache.db-shm"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/ustad-appconfig.bat"
          },
          {
            "editType" : "add",
            "file" : "data/system.db-shm"
          },
          {
            "editType" : "add",
            "file" : "data/system.db-wal"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/ustad-appconfig.sh"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/resources/index.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt"
        ],
        "commitId" : "3c91b893ad586ebd57608992e4ec3123c451f508",
        "timestamp" : 1730266255000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-10-30 11:00:55 +0530",
        "id" : "3c91b893ad586ebd57608992e4ec3123c451f508",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/getsubtitletrackfromuri/GetSubtitleTrackFromUriUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadPickFileLauncher.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreenPreview.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
        ],
        "commitId" : "acfb787619377b819a8cf5952888572f83657f58",
        "timestamp" : 1730267286000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "error fixed\u000a",
        "date" : "2024-10-30 11:18:06 +0530",
        "id" : "acfb787619377b819a8cf5952888572f83657f58",
        "msg" : "error fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadPickFileLauncher.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreenPreview.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "wget-log",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/resources/application.conf",
          "wget-log.1"
        ],
        "commitId" : "2efda3252d5cb5a5aa8aeaecaefa6edb432d2439",
        "timestamp" : 1730375573000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-10-31 17:22:53 +0530",
        "id" : "2efda3252d5cb5a5aa8aeaecaefa6edb432d2439",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "wget-log"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/resources/application.conf"
          },
          {
            "editType" : "add",
            "file" : "wget-log.1"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/resources/application.conf"
        ],
        "commitId" : "399d4ff9eb4da26596f58dcb92804920544f4e87",
        "timestamp" : 1730440626000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-11-01 11:27:06 +0530",
        "id" : "399d4ff9eb4da26596f58dcb92804920544f4e87",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "689083227ff1c950e3665174353e5f2b83b26c8e",
        "timestamp" : 1730705610000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-11-04 13:03:30 +0530",
        "id" : "689083227ff1c950e3665174353e5f2b83b26c8e",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJvm.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseAndroid.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
        ],
        "commitId" : "7b1a0fdf8987374613d76bf25ff0778f5ab1a1c1",
        "timestamp" : 1730784965000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-11-05 11:06:05 +0530",
        "id" : "7b1a0fdf8987374613d76bf25ff0778f5ab1a1c1",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "2b65bf2a33f581fab219c09bb8ab73ba4abf31d4",
        "timestamp" : 1730808143000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-11-05 17:32:23 +0530",
        "id" : "2b65bf2a33f581fab219c09bb8ab73ba4abf31d4",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detail/ContentEntryDetailScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptScreen.kt"
        ],
        "commitId" : "a08e71a9b43a9bb77a9602dd4a8dc6e0e9ed1b20",
        "timestamp" : 1730888240000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "attempts tab added and attempt person list showing\u000a",
        "date" : "2024-11-06 15:47:20 +0530",
        "id" : "a08e71a9b43a9bb77a9602dd4a8dc6e0e9ed1b20",
        "msg" : "attempts tab added and attempt person list showing",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detail/ContentEntryDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
        ],
        "commitId" : "58446e49ed34bee40284c312f93ea39c68c89d41",
        "timestamp" : 1730961267000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update\u000a",
        "date" : "2024-11-07 12:04:27 +0530",
        "id" : "58446e49ed34bee40284c312f93ea39c68c89d41",
        "msg" : "Update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt"
        ],
        "commitId" : "b93e3ea4fd547959194489c40959cf45e00c662a",
        "timestamp" : 1730980892000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "system db added in js di\u000a",
        "date" : "2024-11-07 17:31:32 +0530",
        "id" : "b93e3ea4fd547959194489c40959cf45e00c662a",
        "msg" : "system db added in js di",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/DismissSocialWarningUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "2f7356726eee5d211671a88ff353602a703e9bd0",
        "timestamp" : 1731042568000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "added social warning in MessageListScreen and ClazzAssignmentDetailOverviewScreen .\u000a",
        "date" : "2024-11-08 10:39:28 +0530",
        "id" : "2f7356726eee5d211671a88ff353602a703e9bd0",
        "msg" : "added social warning in MessageListScreen and ClazzAssignmentDetailOverviewScreen .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/DismissSocialWarningUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/build.gradle"
        ],
        "commitId" : "1c13ec4a417f1e48f972d5e5e5d0a6dcbe56927c",
        "timestamp" : 1731067139000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "system db changes\u000a",
        "date" : "2024-11-08 17:28:59 +0530",
        "id" : "1c13ec4a417f1e48f972d5e5e5d0a6dcbe56927c",
        "msg" : "system db changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
        ],
        "commitId" : "da4418980d0c64b828ea8fff9113d5ab8fa7b731",
        "timestamp" : 1731265898000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix SystemDb - add ReplicateEntity annotation for LearningSpaceInfo.\u000a",
        "date" : "2024-11-10 20:11:38 +0100",
        "id" : "da4418980d0c64b828ea8fff9113d5ab8fa7b731",
        "msg" : "Fix SystemDb - add ReplicateEntity annotation for LearningSpaceInfo.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "a0254adfc186aa74544a2402277c58d09dbaace5",
        "timestamp" : 1731305928000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "added social warning strings in strings.xml\u000a",
        "date" : "2024-11-11 11:48:48 +0530",
        "id" : "a0254adfc186aa74544a2402277c58d09dbaace5",
        "msg" : "added social warning strings in strings.xml",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt"
        ],
        "commitId" : "617059c7470b1ed194ed9be8a75fad3b2666ff67",
        "timestamp" : 1731319540000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "changing admin person to admin user\u000achanges in GoToLearningSpaceUseCaseJs\u000a",
        "date" : "2024-11-11 15:35:40 +0530",
        "id" : "617059c7470b1ed194ed9be8a75fad3b2666ff67",
        "msg" : "changing admin person to admin user",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "6e0621f104af8488984c706af27f0cedc46c9503",
        "timestamp" : 1731399289000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "SessionList\u000a",
        "date" : "2024-11-12 13:44:49 +0530",
        "id" : "6e0621f104af8488984c706af27f0cedc46c9503",
        "msg" : "SessionList",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "0c5d2964f7af809e06a670e4563f20e830a00b03",
        "timestamp" : 1731401906000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "removed hardcoded color value from SocialWarningListItem.kt\u000a",
        "date" : "2024-11-12 14:28:26 +0530",
        "id" : "0c5d2964f7af809e06a670e4563f20e830a00b03",
        "msg" : "removed hardcoded color value from SocialWarningListItem.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
        ],
        "commitId" : "e14857375d0d4f960e596a0778238d3ab417484b",
        "timestamp" : 1731409260000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "desktop di added\u000a",
        "date" : "2024-11-12 16:31:00 +0530",
        "id" : "e14857375d0d4f960e596a0778238d3ab417484b",
        "msg" : "desktop di added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt"
        ],
        "commitId" : "80895fb283f40cd18576c0e5319e30c2fd566b25",
        "timestamp" : 1731477590000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Session List\u000a",
        "date" : "2024-11-13 11:29:50 +0530",
        "id" : "80895fb283f40cd18576c0e5319e30c2fd566b25",
        "msg" : "Session List",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "b29b8f43962f46e1cd063aaf4aeca251aacab9c9",
        "timestamp" : 1731477648000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Session List\u000a",
        "date" : "2024-11-13 11:30:48 +0530",
        "id" : "b29b8f43962f46e1cd063aaf4aeca251aacab9c9",
        "msg" : "Session List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "79ef459a40e37e80312968246875eea2698763bb",
        "timestamp" : 1731487159000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Session List\u000a",
        "date" : "2024-11-13 14:09:19 +0530",
        "id" : "79ef459a40e37e80312968246875eea2698763bb",
        "msg" : "Session List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "69902acc44bf3f9fd2f4bc486e2af60b8958f797",
        "timestamp" : 1731487242000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Session List\u000a",
        "date" : "2024-11-13 14:10:42 +0530",
        "id" : "69902acc44bf3f9fd2f4bc486e2af60b8958f797",
        "msg" : "Session List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "652f617afce3735073f9c1e5bf12ed649a5ac385",
        "timestamp" : 1731495767000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Session List fix\u000a",
        "date" : "2024-11-13 16:32:47 +0530",
        "id" : "652f617afce3735073f9c1e5bf12ed649a5ac385",
        "msg" : "Session List fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "af1791b2b2af1f34d5d80d88bdfdd4ea92e1bc81",
        "timestamp" : 1731556388000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "correct naming convention\u000a",
        "date" : "2024-11-14 09:23:08 +0530",
        "id" : "af1791b2b2af1f34d5d80d88bdfdd4ea92e1bc81",
        "msg" : "correct naming convention",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "91daae2714fc5968123124067937d076fb5c4306",
        "timestamp" : 1731559913000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "correct naming convention\u000a",
        "date" : "2024-11-14 10:21:53 +0530",
        "id" : "91daae2714fc5968123124067937d076fb5c4306",
        "msg" : "correct naming convention",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
        ],
        "commitId" : "b43ada4446dea3a1cad0a798452dba306b1a4e7f",
        "timestamp" : 1731579650000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed binding issue in jvmTest\u000a",
        "date" : "2024-11-14 15:50:50 +0530",
        "id" : "b43ada4446dea3a1cad0a798452dba306b1a4e7f",
        "msg" : "Fixed binding issue in jvmTest",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "ef431b07fd9f9a21769e23f508204d6de88a9678",
        "timestamp" : 1731589501000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Statement List\u000a",
        "date" : "2024-11-14 18:35:01 +0530",
        "id" : "ef431b07fd9f9a21769e23f508204d6de88a9678",
        "msg" : "Statement List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
        ],
        "commitId" : "a55d0a878bedd30b131abe2444c38a22f9a658df",
        "timestamp" : 1731652766000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Adjust Ui.\u000a",
        "date" : "2024-11-15 12:09:26 +0530",
        "id" : "a55d0a878bedd30b131abe2444c38a22f9a658df",
        "msg" : "Adjust Ui.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "2a5826acc387a58b08b0257b70e62b3a0a406c42",
        "timestamp" : 1731655602000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts List Task\u000a",
        "date" : "2024-11-15 12:56:42 +0530",
        "id" : "2a5826acc387a58b08b0257b70e62b3a0a406c42",
        "msg" : "Attempts List Task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "9f7e688cfd121a78d170a0fde89ac85f63583008",
        "timestamp" : 1731655647000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts List Task\u000a",
        "date" : "2024-11-15 12:57:27 +0530",
        "id" : "9f7e688cfd121a78d170a0fde89ac85f63583008",
        "msg" : "Attempts List Task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "557422d8b24ad61ef343e5976c55bf3dc2dd1c9c",
        "timestamp" : 1731908597000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Person List Task\u000a",
        "date" : "2024-11-18 11:13:17 +0530",
        "id" : "557422d8b24ad61ef343e5976c55bf3dc2dd1c9c",
        "msg" : "Attempts Person List Task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "a959316679ad33867a73b732ad0225690e1d9ce2",
        "timestamp" : 1731912844000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts List Task\u000a",
        "date" : "2024-11-18 12:24:04 +0530",
        "id" : "a959316679ad33867a73b732ad0225690e1d9ce2",
        "msg" : "Attempts List Task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/README.md"
        ],
        "commitId" : "90b09d6fa7bb23c8d5ac08240fba42ff9f018736",
        "timestamp" : 1731925803000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "readme updated\u000a",
        "date" : "2024-11-18 16:00:03 +0530",
        "id" : "90b09d6fa7bb23c8d5ac08240fba42ff9f018736",
        "msg" : "readme updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "1896b672dcaea994cfe173a7264d14b1345ce983",
        "timestamp" : 1731927945000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "readme updated\u000a",
        "date" : "2024-11-18 16:35:45 +0530",
        "id" : "1896b672dcaea994cfe173a7264d14b1345ce983",
        "msg" : "readme updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "README.md",
          "INSTALL.md"
        ],
        "commitId" : "c047c0249b419f3eef9845a4ac085c847f7a7094",
        "timestamp" : 1731998247000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "install.md updated\u000a",
        "date" : "2024-11-19 12:07:27 +0530",
        "id" : "c047c0249b419f3eef9845a4ac085c847f7a7094",
        "msg" : "install.md updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detail/ContentEntryDetailScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "36c3fd1ae55c03bff5b1b4a4084a60eca8e4d6a8",
        "timestamp" : 1732008611000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts List Task\u000a",
        "date" : "2024-11-19 15:00:11 +0530",
        "id" : "36c3fd1ae55c03bff5b1b4a4084a60eca8e4d6a8",
        "msg" : "Attempts List Task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detail/ContentEntryDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "44cd685d11c35b8b68f6f35cde0104c8c15f9c7b",
        "timestamp" : 1732102380000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update test server controller clear download to use recursive removal.\u000a",
        "date" : "2024-11-20 15:33:00 +0400",
        "id" : "44cd685d11c35b8b68f6f35cde0104c8c15f9c7b",
        "msg" : "Update test server controller clear download to use recursive removal.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "bf13d96601d9632fd9becdd79b8e05f6b0bfc64f",
        "timestamp" : 1732160109000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Reverted unintended formatting changes in unrelated files.\u000aRemoved unnecessary Paper and obsolete cautions list as per review feedback.\u000aUpdated SocialWarningListItem layout to match task requirements with headline, secondary text, and buttons below text.\u000aRemoved unnecessary Paper and obsolete cautions list as per review feedback.\u000a",
        "date" : "2024-11-21 09:05:09 +0530",
        "id" : "bf13d96601d9632fd9becdd79b8e05f6b0bfc64f",
        "msg" : "Reverted unintended formatting changes in unrelated files.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "1fb65560f86f53c5271c9d148414fe98f4d432cb",
        "timestamp" : 1732176327000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fix String issue & social warning url.\u000a",
        "date" : "2024-11-21 13:35:27 +0530",
        "id" : "1fb65560f86f53c5271c9d148414fe98f4d432cb",
        "msg" : "Fix String issue & social warning url.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "data/system.db-shm",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLI.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt",
          "data/ustadcache.db-shm",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "data/admin.txt",
          "data/ustadcache.db",
          "data/system.db",
          "data/system.db-wal",
          "README.md",
          "runserver.bat",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "data/quartz.properties",
          "data/ustadcache.db-wal",
          "data/quartz.script",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt",
          "runserver.sh"
        ],
        "commitId" : "207de4ba6e6a3bc24bbba8e9f03eed836b75c0bf",
        "timestamp" : 1732187596000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update to use a single command with subcommands for running the server and managing the server.\u000a",
        "date" : "2024-11-21 15:13:16 +0400",
        "id" : "207de4ba6e6a3bc24bbba8e9f03eed836b75c0bf",
        "msg" : "Update to use a single command with subcommands for running the server and managing the server.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "delete",
            "file" : "data/admin.txt"
          },
          {
            "editType" : "delete",
            "file" : "data/system.db"
          },
          {
            "editType" : "delete",
            "file" : "data/ustadcache.db-wal"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/appconfig/AppConfigCLI.kt"
          },
          {
            "editType" : "delete",
            "file" : "data/system.db-wal"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "data/quartz.script"
          },
          {
            "editType" : "delete",
            "file" : "data/ustadcache.db"
          },
          {
            "editType" : "delete",
            "file" : "data/system.db-shm"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "delete",
            "file" : "runserver.bat"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "delete",
            "file" : "runserver.sh"
          },
          {
            "editType" : "delete",
            "file" : "data/quartz.properties"
          },
          {
            "editType" : "delete",
            "file" : "data/ustadcache.db-shm"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
        ],
        "commitId" : "1a32c4db9ff8c749cc2fc33538ac22e371dc2bd3",
        "timestamp" : 1732188009000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fix String issue & social warning url.\u000a",
        "date" : "2024-11-21 16:50:09 +0530",
        "id" : "1a32c4db9ff8c749cc2fc33538ac22e371dc2bd3",
        "msg" : "Fix String issue & social warning url.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "f2a75a4b792cd4c959f9b64903fe140a53dd3f3b",
        "timestamp" : 1732267295000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt List HttpAccessible\u000a",
        "date" : "2024-11-22 14:51:35 +0530",
        "id" : "f2a75a4b792cd4c959f9b64903fe140a53dd3f3b",
        "msg" : "Attempt List HttpAccessible",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "e4bb14b8bea5941ef466a403a693baa4ccbdda01",
        "timestamp" : 1732528460000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt list\u000a",
        "date" : "2024-11-25 15:24:20 +0530",
        "id" : "e4bb14b8bea5941ef466a403a693baa4ccbdda01",
        "msg" : "Attempt list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detail/ContentEntryDetailScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "5c92ce6990314a4b198954b938784654db95f196",
        "timestamp" : 1732528900000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt list\u000a",
        "date" : "2024-11-25 15:31:40 +0530",
        "id" : "5c92ce6990314a4b198954b938784654db95f196",
        "msg" : "Attempt list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detail/ContentEntryDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
        ],
        "commitId" : "edcd7b675be557b935491aab6cc35a0b30483eaa",
        "timestamp" : 1732530035000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Added `ValidateUsernameUseCase`.\u000a- Updated `LoginViewModel` and `PersonEditViewModel`.\u000a- Added string resource for invalid username error.\u000a",
        "date" : "2024-11-25 15:50:35 +0530",
        "id" : "edcd7b675be557b935491aab6cc35a0b30483eaa",
        "msg" : "- Added `ValidateUsernameUseCase`.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt"
        ],
        "commitId" : "65d44879dca02ad6c7c0849a9693d48d019f6cb6",
        "timestamp" : 1732550523000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Moved `SOCIAL_WARNING_WEB_URL` to `ShowSocialWarningUseCase`\u000a- Buttons are part of secondary text with proper alignment in a responsive layout.\u000a",
        "date" : "2024-11-25 21:32:03 +0530",
        "id" : "65d44879dca02ad6c7c0849a9693d48d019f6cb6",
        "msg" : "- Moved `SOCIAL_WARNING_WEB_URL` to `ShowSocialWarningUseCase`",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
        ],
        "commitId" : "a72e03a980875c67a72cda0b5f8166409f639f7b",
        "timestamp" : 1732598870000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Replaced regex with explicit validation, allowing non-English letters and disallowing banned characters.\u000a",
        "date" : "2024-11-26 10:57:50 +0530",
        "id" : "a72e03a980875c67a72cda0b5f8166409f639f7b",
        "msg" : "Replaced regex with explicit validation, allowing non-English letters and disallowing banned characters.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "app-ktor-server/README.md",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt",
          "README.md",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "0079c9ce42d63bf343ef506619e3d3e1b1f22052",
        "timestamp" : 1732604801000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "readme updated\u000a",
        "date" : "2024-11-26 12:36:41 +0530",
        "id" : "0079c9ce42d63bf343ef506619e3d3e1b1f22052",
        "msg" : "readme updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "edb353bacbfe1ba62a7f0afe3bdf3d26896a914c",
        "timestamp" : 1732609602000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt list\u000a",
        "date" : "2024-11-26 13:56:42 +0530",
        "id" : "edb353bacbfe1ba62a7f0afe3bdf3d26896a914c",
        "msg" : "Attempt list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
        ],
        "commitId" : "584e74540a0a23bfe0a7ed4f7efa0ee19fa3653c",
        "timestamp" : 1732620861000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed ui.\u000a",
        "date" : "2024-11-26 17:04:21 +0530",
        "id" : "584e74540a0a23bfe0a7ed4f7efa0ee19fa3653c",
        "msg" : "Fixed ui.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "8f5aa808f6c1f1af295876c5a34579861d1407d1",
        "timestamp" : 1732621335000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-11-26 15:42:15 +0400",
        "id" : "8f5aa808f6c1f1af295876c5a34579861d1407d1",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
        ],
        "commitId" : "e6ac71618339c4592ddf44a8e082aacbe582b4fd",
        "timestamp" : 1732622001000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed ui.\u000a",
        "date" : "2024-11-26 17:23:21 +0530",
        "id" : "e6ac71618339c4592ddf44a8e082aacbe582b4fd",
        "msg" : "Fixed ui.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
        ],
        "commitId" : "74e74c9abdbe06702df8f2f094f6086408cef630",
        "timestamp" : 1732624343000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Use `ValidateUsernameUseCase` in `PersonAccountEditViewModel` and remove username validation from `PersonEditViewModel`.\u000a",
        "date" : "2024-11-26 18:02:23 +0530",
        "id" : "74e74c9abdbe06702df8f2f094f6086408cef630",
        "msg" : "Use `ValidateUsernameUseCase` in `PersonAccountEditViewModel` and remove username validation from `PersonEditViewModel`.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/resources/application.conf",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "0d1f6f45b406f63842d2f123861e89de148d2fef",
        "timestamp" : 1732707206000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "test server controller updated\u000a",
        "date" : "2024-11-27 17:03:26 +0530",
        "id" : "0d1f6f45b406f63842d2f123861e89de148d2fef",
        "msg" : "test server controller updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/resources/application.conf"
        ],
        "commitId" : "8d320bea1e3f8e8fa0155382069495f5bea426f5",
        "timestamp" : 1732773767000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "test server controller updated\u000a",
        "date" : "2024-11-28 11:32:47 +0530",
        "id" : "8d320bea1e3f8e8fa0155382069495f5bea426f5",
        "msg" : "test server controller updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/resources/application.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/wrapper/gradle-wrapper.properties",
          "gradle/libs.versions.toml",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "build.gradle"
        ],
        "commitId" : "d38fef8a4981f204192c4d6a3af9c073c925adcf",
        "timestamp" : 1733056540000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle Plugin version.\u000a",
        "date" : "2024-12-01 12:35:40 +0000",
        "id" : "d38fef8a4981f204192c4d6a3af9c073c925adcf",
        "msg" : "Update Android Gradle Plugin version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/resources/application.conf",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-ihttp-ktor-server/build.gradle.kts",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "app-ktor-server/src/dist/ustad-server.conf",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
        ],
        "commitId" : "e5f3fd1edf6c8c32157f85339e214747d865e73f",
        "timestamp" : 1733075138000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ServerAppMain when started with no args to run server by default.\u000aUmRestApplication ktor server set to use jsDevServer by default when running from source.\u000a",
        "date" : "2024-12-01 17:45:38 +0000",
        "id" : "e5f3fd1edf6c8c32157f85339e214747d865e73f",
        "msg" : "Fix ServerAppMain when started with no args to run server by default.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/dist/ustad-server.conf"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "8f4ea62a97f09bf605ddf68c4986710906deb768",
        "timestamp" : 1733076766000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ClazzAssignmentDetailOverviewScreen on app-react: React hook from Social warning was used within an if statement.\u000a",
        "date" : "2024-12-01 18:12:46 +0000",
        "id" : "8f4ea62a97f09bf605ddf68c4986710906deb768",
        "msg" : "Fix ClazzAssignmentDetailOverviewScreen on app-react: React hook from Social warning was used within an if statement.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusScreen.kt",
          "gradle.properties"
        ],
        "commitId" : "6f32dce49caab5df888a3a76ac0dfc1286bd6caa",
        "timestamp" : 1733214669000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Desktop/Android-\u000a\u000aAttempts Person List Screen:\u000a(Person name, person image,\u000acompletion, score)\u000a",
        "date" : "2024-12-03 14:01:09 +0530",
        "id" : "6f32dce49caab5df888a3a76ac0dfc1286bd6caa",
        "msg" : "Desktop/Android-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "README.md",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDb.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceConfig.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceApiRoute.kt",
          "testserver-controller/src/main/resources/application.conf",
          "testserver-controller/build.gradle",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt",
          "ARCHITECTURE.md"
        ],
        "commitId" : "d1780d803dc3ef8a0d6a17f56e2a6780eb583683",
        "timestamp" : 1733229557000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fixes/improvements for initial setup and learning space creation.\u000a\u000a1) Make jsdevserver mode automatic when running from source.\u000a2) Update arguments for creating a learning space to ensure clear differentiation between the system config authentication and the learning space admin password.\u000a3) Documentation updates for learning space creation and setup.\u000a",
        "date" : "2024-12-03 12:39:17 +0000",
        "id" : "d1780d803dc3ef8a0d6a17f56e2a6780eb583683",
        "msg" : "Fixes/improvements for initial setup and learning space creation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceApiRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/.gitignore"
        ],
        "commitId" : "fe7e2d778605beced4392e045ad9a712b392accd",
        "timestamp" : 1733229812000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add app-ktor-server/server.properties to gitignore\u000a",
        "date" : "2024-12-03 12:43:32 +0000",
        "id" : "fe7e2d778605beced4392e045ad9a712b392accd",
        "msg" : "Add app-ktor-server/server.properties to gitignore",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/.gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "0aa2410f2d254ddf7b7bb19ecfc1b37d5f8d2159",
        "timestamp" : 1733244817000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Desktop/Android-\u000a\u000aAttempts Session List Screen:\u000a(Pass fail status, score, completion percentage)\u000a",
        "date" : "2024-12-03 22:23:37 +0530",
        "id" : "0aa2410f2d254ddf7b7bb19ecfc1b37d5f8d2159",
        "msg" : "Desktop/Android-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "dedd499a74d877309ec677df727ffdf31b61faa6",
        "timestamp" : 1733246198000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Desktop/Android-\u000a\u000aAttempts Session List Screen:\u000a(Pass fail status, score, completion percentage)\u000a",
        "date" : "2024-12-03 22:46:38 +0530",
        "id" : "dedd499a74d877309ec677df727ffdf31b61faa6",
        "msg" : "Desktop/Android-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "app-ktor-server/src/scripttemplates/windowsStartScript.txt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt",
          "app-ktor-server/src/scripttemplates/unixStartScript.txt",
          "ARCHITECTURE.md",
          "INSTALL.md"
        ],
        "commitId" : "d29dfce58d55b3d56ae9c7f4d9ecb186e76217cb",
        "timestamp" : 1733246264000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix server setup procedures for binary server build.\u000a",
        "date" : "2024-12-03 17:17:44 +0000",
        "id" : "d29dfce58d55b3d56ae9c7f4d9ecb186e76217cb",
        "msg" : "Fix server setup procedures for binary server build.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/scripttemplates/windowsStartScript.txt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/scripttemplates/unixStartScript.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "fa491c433352b2dc04d5c9e798d094cc62a94065",
        "timestamp" : 1733334919000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "react-\u000a\u000aAttempts Person Session List Screens\u000a",
        "date" : "2024-12-04 23:25:19 +0530",
        "id" : "fa491c433352b2dc04d5c9e798d094cc62a94065",
        "msg" : "react-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
        ],
        "commitId" : "eb3f6913f4e9d40acb0b58bc1ec368a6eff82596",
        "timestamp" : 1733381496000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added username in PersonEditViewModelTest.kt\u000a",
        "date" : "2024-12-05 12:21:36 +0530",
        "id" : "eb3f6913f4e9d40acb0b58bc1ec368a6eff82596",
        "msg" : "Added username in PersonEditViewModelTest.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "0ffb590c6dadb5678386b253f905a0b0da867668",
        "timestamp" : 1733394656000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "desktop-\u000aAttempts person list screen: showing completion bar or score bar accordingly\u000a",
        "date" : "2024-12-05 16:00:56 +0530",
        "id" : "0ffb590c6dadb5678386b253f905a0b0da867668",
        "msg" : "desktop-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "bf68f43087c3a6de4cab5c4de5c9e82ab9f0e4cc",
        "timestamp" : 1733400508000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "react-\u000aAttempts person list screen: showing completion bar or score bar accordingly\u000a",
        "date" : "2024-12-05 17:38:28 +0530",
        "id" : "bf68f43087c3a6de4cab5c4de5c9e82ab9f0e4cc",
        "msg" : "react-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/test-files/content/Ustad_Students_List.csv",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
        ],
        "commitId" : "d0cc26c4876eac4518afbd60e1df1de42b218671",
        "timestamp" : 1733403042000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Username and password validation\u000a",
        "date" : "2024-12-05 18:20:42 +0530",
        "id" : "d0cc26c4876eac4518afbd60e1df1de42b218671",
        "msg" : "Username and password validation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/Ustad_Students_List.csv"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "app-ktor-server/README.md",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/start.sh",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "7c1f5d52814cdc7331a00c85a29283d5622d21ac",
        "timestamp" : 1733410731000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix testserver-controller to disable using jsDevServer (e.g. reverse proxy for webpack) when using testserver-controller .\u000a",
        "date" : "2024-12-05 18:58:51 +0400",
        "id" : "7c1f5d52814cdc7331a00c85a29283d5622d21ac",
        "msg" : "Fix testserver-controller to disable using jsDevServer (e.g. reverse proxy for webpack) when using testserver-controller .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/start.sh"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
        ],
        "commitId" : "36275010e8a3a3f60e088a24deb4316dfbf4a0c9",
        "timestamp" : 1733417717000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Desktop-\u000aAttempts session list screen: showing pass,fail,complet,incomplete ,completion percentage and score  accordingly\u000a",
        "date" : "2024-12-05 22:25:17 +0530",
        "id" : "36275010e8a3a3f60e088a24deb4316dfbf4a0c9",
        "msg" : "Desktop-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "79cbc9b390370d30f1d8f6c7c1bc8b75acdf6d4b",
        "timestamp" : 1733418769000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "react-\u000aAttempts session list screen: showing pass,fail,complet,incomplete ,completion percentage and score  accordingly\u000a",
        "date" : "2024-12-05 22:42:49 +0530",
        "id" : "79cbc9b390370d30f1d8f6c7c1bc8b75acdf6d4b",
        "msg" : "react-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "41df74d0fa7f4fb13d756550758dcaa860868cf7",
        "timestamp" : 1733419061000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "react-\u000aAttempts session list screen: showing pass,fail,complet,incomplete ,completion percentage and score  accordingly\u000a",
        "date" : "2024-12-05 22:47:41 +0530",
        "id" : "41df74d0fa7f4fb13d756550758dcaa860868cf7",
        "msg" : "react-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
        ],
        "commitId" : "02cbd8f7135bfa3f7261e093523543db244bb806",
        "timestamp" : 1733420793000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Fixed PersonEditViewModelTest to expect invalid_username error\u000a- Fixed LoginViewModelTest to handle empty username validation\u000a",
        "date" : "2024-12-05 23:16:33 +0530",
        "id" : "02cbd8f7135bfa3f7261e093523543db244bb806",
        "msg" : "- Fixed PersonEditViewModelTest to expect invalid_username error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
        ],
        "commitId" : "2fb67cabc9549a9faa9a7ee6f5b6f12f8bfb0328",
        "timestamp" : 1733472800000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "get Statement Entity\u000a",
        "date" : "2024-12-06 13:43:20 +0530",
        "id" : "2fb67cabc9549a9faa9a7ee6f5b6f12f8bfb0328",
        "msg" : "get Statement Entity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "8c96b19f7bc6000cbcd4e102ee54419f3e1e8a21",
        "timestamp" : 1733474192000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "get Statement Entity\u000aJoining StatementEntity and verb entity\u000a",
        "date" : "2024-12-06 14:06:32 +0530",
        "id" : "8c96b19f7bc6000cbcd4e102ee54419f3e1e8a21",
        "msg" : "get Statement Entity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt",
          "test-end-to-end/webapp-cypress/run-cypress-test.sh"
        ],
        "commitId" : "05057b7058eaa4d62e03869707ad2c50da4939d7",
        "timestamp" : 1733478076000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update cypress and maestro scripts to use learning space parameter name.\u000aAdd comment on UstadScreens for use registration_allowed script.\u000a",
        "date" : "2024-12-06 13:41:16 +0400",
        "id" : "05057b7058eaa4d62e03869707ad2c50da4939d7",
        "msg" : "Update cypress and maestro scripts to use learning space parameter name.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/resources/application.conf",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/194.json",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "buildconfig.default.properties",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/205.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "18b2e66538a7bedb23781d7d2702efd02941d98b",
        "timestamp" : 1733552003000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "invite branch merged\u000a",
        "date" : "2024-12-07 11:43:23 +0530",
        "id" : "18b2e66538a7bedb23781d7d2702efd02941d98b",
        "msg" : "invite branch merged",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "buildconfig.default.properties"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/194.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/205.json"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/resources/application.conf",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "buildconfig.default.properties",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/util/stringvalues/JsHeaderStringValuesAdapter.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "6a3374263f60d2ca1dcad433ee0dc38b011894b0",
        "timestamp" : 1733655724000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "invite bug fix\u000a",
        "date" : "2024-12-08 16:32:04 +0530",
        "id" : "6a3374263f60d2ca1dcad433ee0dc38b011894b0",
        "msg" : "invite bug fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/util/stringvalues/JsHeaderStringValuesAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "buildconfig.default.properties"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb-model/.gitignore",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/SystemConfigDao.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfig.kt",
          "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/SystemConfigAuth.sq",
          "gradle/libs.versions.toml",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/SystemDbRepository.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/sysconfiginit/GenerateSystemConfigAuthUseCase.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDb.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt",
          "app-react/build.gradle",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfig.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt",
          "lib-systemdb-sqldelight/.gitignore",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepository.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/SystemConfigAuthDao.kt",
          "lib-systemdb/.gitignore",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/LearningSpace.sq",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfigAuth.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadAvatar.kt",
          "app-ktor-server/build.gradle",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/composites/LearningSpaceConfigAndInfo.kt",
          "README.md",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt",
          "lib-systemdb-sqldelight/src/jvmMain/kotlin/com/ustadmobile/systemdb/Scratch.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceEntityExt.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceRepository.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepository.kt",
          "app-android/build.gradle",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/verifyauth/VerifySystemConfigAuthUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceClientRoute.kt",
          "lib-systemdb-model/build.gradle.kts",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfigAuth.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/sysconfiginit/GenerateSystemConfigAuthCallback.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/update/UpdateLearningSpaceUseCase.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "lib-systemdb-sqldelight/build.gradle.kts",
          "settings.gradle",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt",
          "lib-systemdb-sqldelight/README.md",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceConfigAndInfoExt.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceConfig.kt",
          "core/build.gradle",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt",
          "lib-systemdb/build.gradle.kts",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt",
          "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/model/SystemDbNodeIdAndAuth.kt",
          "lib-systemdb/README.md"
        ],
        "commitId" : "c1923ad6cf32a05d4738cb9bdab406d7765938b3",
        "timestamp" : 1733676845000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work-in-progress migration of SystemDb to using SQLdelight.\u000a\u000aMultiple Door databases (e.g. UmAppDatabase and SystemDb) on Kotlin/JS failed: hence need to migrate. Web client will not need a local database.\u000a",
        "date" : "2024-12-08 20:54:05 +0400",
        "id" : "c1923ad6cf32a05d4738cb9bdab406d7765938b3",
        "msg" : "Work-in-progress migration of SystemDb to using SQLdelight.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/verifyauth/VerifySystemConfigAuthUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/SystemConfigAuth.sq"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/update/UpdateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/jvmMain/kotlin/com/ustadmobile/systemdb/Scratch.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/model/SystemDbNodeIdAndAuth.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/SystemConfigAuthDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceConfigAndInfoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfigAuth.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadAvatar.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/sysconfiginit/GenerateSystemConfigAuthUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/SystemConfigDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfigAuth.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/LearningSpaceInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceClientRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/composites/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/delete/DeleteLearningSpaceUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/sysconfiginit/GenerateSystemConfigAuthCallback.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/SystemDbRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceInfoDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/LearningSpace.sq"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb/src/commonMain/kotlin/com/ustadmobile/appconfigdb/daos/LearningSpaceConfigDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt"
        ],
        "commitId" : "18c6ecf5120fb1ab919f489d2f63defb9f09a0d9",
        "timestamp" : 1733725612000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "invite bug fix\u000a",
        "date" : "2024-12-09 11:56:52 +0530",
        "id" : "18c6ecf5120fb1ab919f489d2f63defb9f09a0d9",
        "msg" : "invite bug fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "1220f36c57c35d5e7f13b0014f53b997487424a1",
        "timestamp" : 1733733107000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add queries for list of persons who attempted a given piece of content nad list of sessions by person and content uid.\u000a",
        "date" : "2024-12-09 12:31:47 +0400",
        "id" : "1220f36c57c35d5e7f13b0014f53b997487424a1",
        "msg" : "Add queries for list of persons who attempted a given piece of content nad list of sessions by person and content uid.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/create_course_with_members.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
        ],
        "commitId" : "c9583fcdfbbb02a2871bd3f3b402d9a593115791",
        "timestamp" : 1733734739000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Username and password changes\u000a",
        "date" : "2024-12-09 14:28:59 +0530",
        "id" : "c9583fcdfbbb02a2871bd3f3b402d9a593115791",
        "msg" : "Username and password changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_members.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "136ee6524861883fd1d146c8558fcbac8a9b0744",
        "timestamp" : 1733736503000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add query for list of statements by registration uid.\u000aUpdate SessionTimeAndProgressInfo to include registration uid to be passed to next screen.\u000a",
        "date" : "2024-12-09 13:28:23 +0400",
        "id" : "136ee6524861883fd1d146c8558fcbac8a9b0744",
        "msg" : "Add query for list of statements by registration uid.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbLangMapEntry.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "954c81f35ac8dabf6057b16e6ce2c1989adcd835",
        "timestamp" : 1733745312000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add isSuccessful and isCompleted booleans to queries for attempts list screens for list of persons and list of sessions for person queries.\u000a",
        "date" : "2024-12-09 15:55:12 +0400",
        "id" : "954c81f35ac8dabf6057b16e6ce2c1989adcd835",
        "msg" : "Add isSuccessful and isCompleted booleans to queries for attempts list screens for list of persons and list of sessions for person queries.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "6bdc66156b6e71d8f97b8f667cb5a95ea37fde85",
        "timestamp" : 1733748411000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add max score and max progress for StatementDao#findPersonsWithAttempts\u000a",
        "date" : "2024-12-09 16:46:51 +0400",
        "id" : "6bdc66156b6e71d8f97b8f667cb5a95ea37fde85",
        "msg" : "Add max score and max progress for StatementDao#findPersonsWithAttempts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_001_add_or_edit_course_permission_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_002_users_add_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_001_teacher_add_discussion_and_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_add_private_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_user_add_private_comment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_internal_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js",
          "test-end-to-end/webapp-cypress/package-lock.json"
        ],
        "commitId" : "2d66be09ccd715ad5d782a191ead0082c1709bdb",
        "timestamp" : 1733748804000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Username cypress changes\u000a",
        "date" : "2024-12-09 18:23:24 +0530",
        "id" : "2d66be09ccd715ad5d782a191ead0082c1709bdb",
        "msg" : "Username cypress changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_add_private_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_user_add_private_comment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_001_add_or_edit_course_permission_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_001_teacher_add_discussion_and_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_002_users_add_course_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/.attach_pid65957",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
        ],
        "commitId" : "8f1cad13c0dcfd1aca9745828cac99b450063133",
        "timestamp" : 1733750048000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "ProcessInviteUseCaseTest issue fix\u000a",
        "date" : "2024-12-09 18:44:08 +0530",
        "id" : "8f1cad13c0dcfd1aca9745828cac99b450063133",
        "msg" : "ProcessInviteUseCaseTest issue fix",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/.attach_pid65957"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "8434fb952f3c3f3c8c0bfd91a53ad58ed9e3cae3",
        "timestamp" : 1733751815000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Test description and maestro/cypress tests for attempt list test\u000a",
        "date" : "2024-12-09 19:13:35 +0530",
        "id" : "8434fb952f3c3f3c8c0bfd91a53ad58ed9e3cae3",
        "msg" : "Test description and maestro/cypress tests for attempt list test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "e6f6e337c9c7b7421e09f3f635b6cdf02ba376f9",
        "timestamp" : 1733767467000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt List\u000a",
        "date" : "2024-12-09 23:34:27 +0530",
        "id" : "e6f6e337c9c7b7421e09f3f635b6cdf02ba376f9",
        "msg" : "Attempt List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
        ],
        "commitId" : "4889cde44c9970aefa4f05251d47282909e00537",
        "timestamp" : 1733769772000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt List- changes made\u000a",
        "date" : "2024-12-10 00:12:52 +0530",
        "id" : "4889cde44c9970aefa4f05251d47282909e00537",
        "msg" : "Attempt List- changes made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "8259602341aae8ba5d4aae9c34af2656a7be1374",
        "timestamp" : 1733771326000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Person List- desktop/android\u000a",
        "date" : "2024-12-10 00:38:46 +0530",
        "id" : "8259602341aae8ba5d4aae9c34af2656a7be1374",
        "msg" : "Attempts Person List- desktop/android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "a1efe76be38a6d623543e1edc5f293aa01a5818e",
        "timestamp" : 1733772638000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Person List- desktop/android\u000a",
        "date" : "2024-12-10 01:00:38 +0530",
        "id" : "a1efe76be38a6d623543e1edc5f293aa01a5818e",
        "msg" : "Attempts Person List- desktop/android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
        ],
        "commitId" : "82af0d1982c12d9362c3b47647acc3666c839a40",
        "timestamp" : 1733809893000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Test description and maestro/cypress tests for attempt list test\u000a",
        "date" : "2024-12-10 11:21:33 +0530",
        "id" : "82af0d1982c12d9362c3b47647acc3666c839a40",
        "msg" : "Test description and maestro/cypress tests for attempt list test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "6472258fa40a67201b38adf0aa5da4a90e0d5222",
        "timestamp" : 1733811788000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Person List- react\u000a",
        "date" : "2024-12-10 11:53:08 +0530",
        "id" : "6472258fa40a67201b38adf0aa5da4a90e0d5222",
        "msg" : "Attempts Person List- react",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
        ],
        "commitId" : "85632f595edb0d193e3299266210f2219b70ea44",
        "timestamp" : 1733813268000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Session List- desktop/android\u000a",
        "date" : "2024-12-10 12:17:48 +0530",
        "id" : "85632f595edb0d193e3299266210f2219b70ea44",
        "msg" : "Attempts Session List- desktop/android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
        ],
        "commitId" : "10e8ffd979876366fcbbecb1c79dc73466021d17",
        "timestamp" : 1733813582000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Session List- desktop/android\u000a",
        "date" : "2024-12-10 12:23:02 +0530",
        "id" : "10e8ffd979876366fcbbecb1c79dc73466021d17",
        "msg" : "Attempts Session List- desktop/android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "28886e2ff05e8c9fb455c268a242046475334b65",
        "timestamp" : 1733815820000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Session List- react\u000a",
        "date" : "2024-12-10 13:00:20 +0530",
        "id" : "28886e2ff05e8c9fb455c268a242046475334b65",
        "msg" : "Attempts Session List- react",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/002_010_username_validation_test_description.md",
          "test-end-to-end/README.md",
          "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
        ],
        "commitId" : "b5d41fc1f92f0f74425e3beb1fec9819e73beff3",
        "timestamp" : 1733816649000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test description update\u000a",
        "date" : "2024-12-10 13:14:09 +0530",
        "id" : "b5d41fc1f92f0f74425e3beb1fec9819e73beff3",
        "msg" : "test description update",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_010_username_validation_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "f02618f917a14950c718c80bcec2580630b0a08f",
        "timestamp" : 1733824195000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Statement List- desktop/android\u000a",
        "date" : "2024-12-10 15:19:55 +0530",
        "id" : "f02618f917a14950c718c80bcec2580630b0a08f",
        "msg" : "Attempts Statement List- desktop/android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt"
        ],
        "commitId" : "81face559c21f41059a6368a5e657737faeeef31",
        "timestamp" : 1733825166000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "ParseInviteUseCaseTest issue fix\u000a",
        "date" : "2024-12-10 15:36:06 +0530",
        "id" : "81face559c21f41059a6368a5e657737faeeef31",
        "msg" : "ParseInviteUseCaseTest issue fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "bc011aec59762d40e6c492ed80bfc10d758bb6af",
        "timestamp" : 1733896081000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Statement Lis\u000a",
        "date" : "2024-12-11 11:18:01 +0530",
        "id" : "bc011aec59762d40e6c492ed80bfc10d758bb6af",
        "msg" : "Attempts Statement Lis",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "ac926db34142e406ac729db1bdad48654865f525",
        "timestamp" : 1733897882000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "findStatusForStudentsInClazz\u000aJenkins error:All annotations from expect `suspend fun findStatusForStudentsInClazz(clazzUid: Long, studentPersonUids: List<Long>, accountPersonUid: Long): List<BlockStatus> defined in com.ustadmobile.core.db.dao.xapi.StatementDao` must be present with the same arguments on actual `suspend fun findStatusForStudentsInClazz(clazzUid: Long, studentPersonUids: List<Long>, accountPersonUid: Long): List<BlockStatus> defined in com.ustadmobile.core.db.dao.xapi.StatementDao`, otherwise they might behave incorrectly.\u000a",
        "date" : "2024-12-11 11:48:02 +0530",
        "id" : "ac926db34142e406ac729db1bdad48654865f525",
        "msg" : "findStatusForStudentsInClazz",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/004_004_multiple_submission_possible_for_student_test_description.md",
          "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md",
          "test-end-to-end/test-descriptions/004_015_teacher_or_admin_enable_or_disable_file_submission_test_description.md",
          "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_test_description.md",
          "test-end-to-end/test-descriptions/002_005_course_title_is_mandatory_test_description.md",
          "test-end-to-end/test-descriptions/007_006_admin_enable_or_disable_guest_login_test_description.md",
          "test-end-to-end/test-descriptions/004_014_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md",
          "test-end-to-end/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_test_description.md",
          "test-end-to-end/test-descriptions/001_005_content_download_will_stop_when_wifi_stop_then_resume_when_WiFi_is_resumed _test_description.md",
          "test-end-to-end/test-descriptions/001_006_admin_can_cancel_content_download_test_description.md",
          "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md",
          "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/010_002_english_language_used_if_system_language_not_supported_by_the_app_test_description.md",
          "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_test_description.md",
          "test-end-to-end/test-descriptions/005_003_users_can_add_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/test-descriptions/004_005_assignment_after_deadline_and_before_grace_period_test_description.md",
          "test-end-to-end/test-descriptions/008_001_admin_uploads_valid_content_with_video_subtitles_test_description.md",
          "test-end-to-end/test-descriptions/011_004_user_visits_a_screen_whilst_offline_that_cannot_be_loaded_gets_an_error_test_description.md",
          "test-end-to-end/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md",
          "test-end-to-end/test-descriptions/005_004_user_add_internal_links_to_post_test_description.md",
          "test-end-to-end/test-descriptions/001_008_deleting_content_will_remove_the_files_associated_with_the_content_from_the_serve _test_description.md",
          "test-end-to-end/test-descriptions/010_001_default_system_language_if_language_is_supported_by_app_test_description.md",
          "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md",
          "test-end-to-end/test-descriptions/003_005_add_new_content_block_inside_course_test_description.md",
          "test-end-to-end/test-descriptions/001_009_user_can_store_offline_content_on_device_storage_or_memory_card_test_description.md",
          "test-end-to-end/test-descriptions/010_004_android_13+_users_can_select_language_in_app_settings_test_description.md",
          "test-end-to-end/test-descriptions/002_002_student_joining_course_using_code_test_description.md",
          "test-end-to-end/test-descriptions/011_001_screen_caching_for_offline_access_test_description.md",
          "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_test_description.md",
          "test-end-to-end/test-descriptions/007_007_admin_or_teacher_send_group_invitation_to_join_course_test_description.md",
          "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md",
          "test-end-to-end/test-descriptions/011_003_handling_conflicting_offline_edits_test_description.md",
          "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md",
          "test-end-to-end/test-descriptions/004_009_group_users_add_private_comments_test_description.md",
          "test-end-to-end/test-descriptions/004_006_assignment_grace_period_finished_test_description.md",
          "test-end-to-end/test-descriptions/002_008_teacher_or_admin_can_add_banner_photo_to_the_course_test_description.md",
          "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md",
          "test-end-to-end/test-descriptions/004_011_group_users_multiple_assignment_submission_allowed_test_description.md",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md",
          "test-end-to-end/test-descriptions/008_002_accessibility_text-to-Speech_image_button_labels_test_description.md",
          "test-end-to-end/test-descriptions/003_004_admin_or_teacher_can_add_a_content_block_and_upload_new_content_via_link_test_description.md",
          "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_test_description.md",
          "test-end-to-end/test-descriptions/005_005_users_can_add_external_links_as_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/001_007_h5p_and_video_content_compression_test_description.md",
          "test-end-to-end/test-descriptions/003_008_course_blocks_title_field_is_mandatory_test_description.md",
          "test-end-to-end/test-descriptions/011_002_Offline_data_editing_and_syncing_test_description.md",
          "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_test_description.md",
          "test-end-to-end/test-descriptions/001_003_admin_can_delete_and_restore_content_001_test_description.md",
          "test-end-to-end/test-descriptions/005_002_teacher_can_edit_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/001_003_admin_can_permanently_delete_the_content_002_test_description.md",
          "test-end-to-end/test-descriptions/001_002_admin_add_invalid_content_gets_error_message_test_description.md",
          "test-end-to-end/test-descriptions/010_003_language_selection_in_app_settings_test_description.md",
          "test-end-to-end/test-descriptions/004_003_user_add_private_comment_test_description.md",
          "test-end-to-end/test-descriptions/001_004_admin_can_move_content_test_description.md",
          "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md",
          "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md",
          "test-end-to-end/test-descriptions/003_007_all_user_able_to_open_text_block_test_description.md",
          "test-end-to-end/test-descriptions/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md",
          "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
        ],
        "commitId" : "c1cb1ba9ed7884dd28cf1236430896dcd564b835",
        "timestamp" : 1733897942000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated test descriptions to reflect changes\u000a",
        "date" : "2024-12-11 11:49:02 +0530",
        "id" : "c1cb1ba9ed7884dd28cf1236430896dcd564b835",
        "msg" : "Updated test descriptions to reflect changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/008_002_accessibility_text-to-Speech_image_button_labels_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_004_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_004_android_13+_users_can_select_language_in_app_settings_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_008_course_blocks_title_field_is_mandatory_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_003_handling_conflicting_offline_edits_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_003_language_selection_in_app_settings_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_002_student_joining_course_using_code_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_004_multiple_submission_possible_for_student_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_007_all_user_able_to_open_text_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_008_deleting_content_will_remove_the_files_associated_with_the_content_from_the_serve _test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_002_english_language_used_if_system_language_not_supported_by_the_app_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_001_screen_caching_for_offline_access_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_015_teacher_or_admin_enable_or_disable_file_submission_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_006_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_001_default_system_language_if_language_is_supported_by_app_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_002_Offline_data_editing_and_syncing_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_005_assignment_after_deadline_and_before_grace_period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_009_user_can_store_offline_content_on_device_storage_or_memory_card_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_005_course_title_is_mandatory_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_011_group_users_multiple_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_006_admin_enable_or_disable_guest_login_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_007_admin_or_teacher_send_group_invitation_to_join_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_003_users_can_add_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_004_admin_or_teacher_can_add_a_content_block_and_upload_new_content_via_link_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_003_admin_can_permanently_delete_the_content_002_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_014_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_008_teacher_or_admin_can_add_banner_photo_to_the_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_009_group_users_add_private_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_005_users_can_add_external_links_as_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_002_teacher_can_edit_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_004_user_visits_a_screen_whilst_offline_that_cannot_be_loaded_gets_an_error_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_007_h5p_and_video_content_compression_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_005_content_download_will_stop_when_wifi_stop_then_resume_when_WiFi_is_resumed _test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_002_admin_add_invalid_content_gets_error_message_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_006_admin_can_cancel_content_download_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_003_admin_can_delete_and_restore_content_001_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_004_admin_can_move_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/008_001_admin_uploads_valid_content_with_video_subtitles_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_003_user_add_private_comment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_005_add_new_content_block_inside_course_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "a6935e6f537511ae322201acff3d9f24b049fd48",
        "timestamp" : 1733901167000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "findStatusForStudentsInClazz\u000a",
        "date" : "2024-12-11 12:42:47 +0530",
        "id" : "a6935e6f537511ae322201acff3d9f24b049fd48",
        "msg" : "findStatusForStudentsInClazz",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/androidInstrumentedTest/kotlin/com/ustadmobile/port/android/db/TestRoomMigration.kt"
        ],
        "commitId" : "af95ba56ff52401fc02a3de0f1864011cbb2783f",
        "timestamp" : 1733912669000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete version migration tests from TestRoomMigration\u000a",
        "date" : "2024-12-11 14:24:29 +0400",
        "id" : "af95ba56ff52401fc02a3de0f1864011cbb2783f",
        "msg" : "Remove obsolete version migration tests from TestRoomMigration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/androidInstrumentedTest/kotlin/com/ustadmobile/port/android/db/TestRoomMigration.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/004_015_teacher_or_admin_enable_or_disable_file_submission_test_description.md",
          "test-end-to-end/test-descriptions/004_004_multiple_submission_possible_for_student_test_description.md",
          "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md",
          "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_test_description.md",
          "test-end-to-end/test-descriptions/002_005_course_title_is_mandatory_test_description.md",
          "test-end-to-end/test-descriptions/007_006_admin_enable_or_disable_guest_login_test_description.md",
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md",
          "test-end-to-end/test-descriptions/004_014_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_test_description.md",
          "test-end-to-end/test-descriptions/001_005_content_download_will_stop_when_wifi_stop_then_resume_when_WiFi_is_resumed _test_description.md",
          "test-end-to-end/test-descriptions/001_006_admin_can_cancel_content_download_test_description.md",
          "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md",
          "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/010_002_english_language_used_if_system_language_not_supported_by_the_app_test_description.md",
          "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_test_description.md",
          "test-end-to-end/test-descriptions/005_003_users_can_add_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/004_005_assignment_after_deadline_and_before_grace_period_test_description.md",
          "test-end-to-end/test-descriptions/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/test-descriptions/008_001_admin_uploads_valid_content_with_video_subtitles_test_description.md",
          "test-end-to-end/test-descriptions/011_004_user_visits_a_screen_whilst_offline_that_cannot_be_loaded_gets_an_error_test_description.md",
          "test-end-to-end/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md",
          "test-end-to-end/test-descriptions/005_004_user_add_internal_links_to_post_test_description.md",
          "test-end-to-end/test-descriptions/001_008_deleting_content_will_remove_the_files_associated_with_the_content_from_the_serve _test_description.md",
          "test-end-to-end/test-descriptions/010_001_default_system_language_if_language_is_supported_by_app_test_description.md",
          "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md",
          "test-end-to-end/test-descriptions/003_005_add_new_content_block_inside_course_test_description.md",
          "test-end-to-end/test-descriptions/001_009_user_can_store_offline_content_on_device_storage_or_memory_card_test_description.md",
          "test-end-to-end/test-descriptions/010_004_android_13+_users_can_select_language_in_app_settings_test_description.md",
          "test-end-to-end/test-descriptions/002_002_student_joining_course_using_code_test_description.md",
          "test-end-to-end/test-descriptions/011_001_screen_caching_for_offline_access_test_description.md",
          "test-end-to-end/test-descriptions/007_007_admin_or_teacher_send_group_invitation_to_join_course_test_description.md",
          "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_test_description.md",
          "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md",
          "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md",
          "test-end-to-end/test-descriptions/011_003_handling_conflicting_offline_edits_test_description.md",
          "test-end-to-end/test-descriptions/004_009_group_users_add_private_comments_test_description.md",
          "test-end-to-end/test-descriptions/004_006_assignment_grace_period_finished_test_description.md",
          "test-end-to-end/test-descriptions/002_008_teacher_or_admin_can_add_banner_photo_to_the_course_test_description.md",
          "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md",
          "test-end-to-end/test-descriptions/004_011_group_users_multiple_assignment_submission_allowed_test_description.md",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md",
          "test-end-to-end/test-descriptions/008_002_accessibility_text-to-Speech_image_button_labels_test_description.md",
          "test-end-to-end/test-descriptions/003_004_admin_or_teacher_can_add_a_content_block_and_upload_new_content_via_link_test_description.md",
          "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_test_description.md",
          "test-end-to-end/test-descriptions/005_005_users_can_add_external_links_as_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/001_007_h5p_and_video_content_compression_test_description.md",
          "test-end-to-end/test-descriptions/003_008_course_blocks_title_field_is_mandatory_test_description.md",
          "test-end-to-end/test-descriptions/011_002_Offline_data_editing_and_syncing_test_description.md",
          "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_test_description.md",
          "test-end-to-end/test-descriptions/001_003_admin_can_delete_and_restore_content_001_test_description.md",
          "test-end-to-end/test-descriptions/005_002_teacher_can_edit_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/001_003_admin_can_permanently_delete_the_content_002_test_description.md",
          "test-end-to-end/test-descriptions/001_002_admin_add_invalid_content_gets_error_message_test_description.md",
          "test-end-to-end/test-descriptions/010_003_language_selection_in_app_settings_test_description.md",
          "test-end-to-end/test-descriptions/004_003_user_add_private_comment_test_description.md",
          "test-end-to-end/test-descriptions/001_004_admin_can_move_content_test_description.md",
          "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md",
          "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md",
          "test-end-to-end/test-descriptions/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md",
          "test-end-to-end/test-descriptions/003_007_all_user_able_to_open_text_block_test_description.md",
          "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
        ],
        "commitId" : "a1f91677d78a4d6189e447f79976e27ab207ce8f",
        "timestamp" : 1733912842000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated test descriptions to reflect changes\u000a",
        "date" : "2024-12-11 15:57:22 +0530",
        "id" : "a1f91677d78a4d6189e447f79976e27ab207ce8f",
        "msg" : "Updated test descriptions to reflect changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_005_add_new_content_block_inside_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_001_default_system_language_if_language_is_supported_by_app_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/008_001_admin_uploads_valid_content_with_video_subtitles_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_003_admin_can_permanently_delete_the_content_002_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_004_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_005_content_download_will_stop_when_wifi_stop_then_resume_when_WiFi_is_resumed _test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_002_admin_add_invalid_content_gets_error_message_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_002_Offline_data_editing_and_syncing_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_002_english_language_used_if_system_language_not_supported_by_the_app_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_008_course_blocks_title_field_is_mandatory_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_006_admin_can_cancel_content_download_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/008_002_accessibility_text-to-Speech_image_button_labels_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_004_admin_can_move_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_007_h5p_and_video_content_compression_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_005_course_title_is_mandatory_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_015_teacher_or_admin_enable_or_disable_file_submission_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_004_multiple_submission_possible_for_student_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_007_admin_or_teacher_send_group_invitation_to_join_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_008_deleting_content_will_remove_the_files_associated_with_the_content_from_the_serve _test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_009_user_can_store_offline_content_on_device_storage_or_memory_card_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_006_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_011_group_users_multiple_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_014_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_001_screen_caching_for_offline_access_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_003_language_selection_in_app_settings_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_005_users_can_add_external_links_as_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_003_admin_can_delete_and_restore_content_001_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_003_user_add_private_comment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_009_group_users_add_private_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_006_admin_enable_or_disable_guest_login_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_004_user_visits_a_screen_whilst_offline_that_cannot_be_loaded_gets_an_error_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/011_003_handling_conflicting_offline_edits_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_002_student_joining_course_using_code_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_005_assignment_after_deadline_and_before_grace_period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_004_admin_or_teacher_can_add_a_content_block_and_upload_new_content_via_link_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/010_004_android_13+_users_can_select_language_in_app_settings_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_008_teacher_or_admin_can_add_banner_photo_to_the_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_002_teacher_can_edit_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_007_all_user_able_to_open_text_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_003_users_can_add_post_on_discussion_board_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-passkey-test/001_001_New_user_login_using_passkey.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml"
        ],
        "commitId" : "06c5219165cd73569c95d380abfba345d13dd10d",
        "timestamp" : 1733917233000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated test descriptions to reflect changes\u000a",
        "date" : "2024-12-11 17:10:33 +0530",
        "id" : "06c5219165cd73569c95d380abfba345d13dd10d",
        "msg" : "Updated test descriptions to reflect changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_learning_space_new_userflow.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-passkey-test/001_001_New_user_login_using_passkey.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
        ],
        "commitId" : "0b066fe89f25dcacff023b7a07ef2426625e05bd",
        "timestamp" : 1733921579000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Successful build\u000a",
        "date" : "2024-12-11 18:22:59 +0530",
        "id" : "0b066fe89f25dcacff023b7a07ef2426625e05bd",
        "msg" : "Successful build",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb-model/.gitignore",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceRepository.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepository.kt",
          "lib-systemdb-model/build.gradle.kts",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepositorySqlDelight.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/SystemDbRepository.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "lib-systemdb-core/.gitignore",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepositorySqlDelight.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepository.kt",
          "lib-systemdb-sqldelight/build.gradle.kts",
          "settings.gradle",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/SystemDbRepository.kt",
          "app-ktor-server/build.gradle",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/LearningSpaceRepository.kt",
          "core/build.gradle",
          "app-desktop/build.gradle.kts",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt",
          "lib-systemdb-core/build.gradle.kts"
        ],
        "commitId" : "1080ad9419688b51d1c4d899136aca7941a2b30f",
        "timestamp" : 1733928439000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Rename lib-systemdb-model to lib-systemdb-core (because it contains common repository interfaces as well).\u000aUpdate libui compose screens to use lib-systemdb-core classes.\u000a",
        "date" : "2024-12-11 18:47:19 +0400",
        "id" : "1080ad9419688b51d1c4d899136aca7941a2b30f",
        "msg" : "Rename lib-systemdb-model to lib-systemdb-core (because it contains common repository interfaces as well).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepositorySqlDelight.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepositorySqlDelight.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/SystemDbRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/SystemDbRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/LearningSpaceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-model/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
        ],
        "commitId" : "8f7991725c6c2d47004ad732244060d5f3d4e2f3",
        "timestamp" : 1733986962000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "invite user merged\u000a",
        "date" : "2024-12-12 12:32:42 +0530",
        "id" : "8f7991725c6c2d47004ad732244060d5f3d4e2f3",
        "msg" : "invite user merged",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbDataSourceSqlDelight.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherCommonJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Factory.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceInfoExt.kt",
          "gradle/libs.versions.toml",
          "lib-xxhashkmp-core/.gitignore",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt",
          "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXHasher64.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64CommonJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "lib-xxhashkmp-core/build.gradle.kts",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt",
          "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXHasher64Factory.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/SystemDbDataSource.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-xxhashkmp-commonjvmimpl/build.gradle.kts",
          "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/LearningSpace.sq",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt",
          "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXHasher64Js.kt",
          "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/wrappers/CUINTWrapper.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoDataSourceSqlDelight.kt",
          "app-ktor-server/build.gradle",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt",
          "lib-xxhashkmp/.gitignore",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/ListXapiStateIdsUseCase.kt",
          "lib-xxhashkmp-commonjvmimpl/.gitignore",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/xxhash/XXHashWrapper.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "lib-xxhashkmp/build.gradle.kts",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "lib-xxhashkmp-commonjvmimpl/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXStringHasherCommonJvm.kt",
          "app-android/build.gradle",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepositorySqlDelight.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/LearningSpaceDataSource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasher.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/ext/LongExt.kt",
          "lib-xxhashkmp-commonjvmimpl/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXHasher64FactoryCommonJvm.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepositorySqlDelight.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryJs.kt",
          "lib-systemdb-sqldelight/build.gradle.kts",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParamsExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "settings.gradle",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryCommonJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/SystemDbRepository.kt",
          "lib-xxhashkmp-core/src/jsTest/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXHashJsTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/DeleteXapiStateUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/cuint/CUINTWrapper.kt",
          "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/wrappers/XXHashWrapper.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/LearningSpaceRepository.kt",
          "core/build.gradle",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt",
          "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXStringHasherExt.kt",
          "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXHasher64FactoryJs.kt",
          "lib-xxhashkmp-commonjvmimpl/src/jvmTest/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXHashJvmTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXStringHasher.kt",
          "lib-systemdb-core/build.gradle.kts",
          "lib-xxhashkmp-commonjvmimpl/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXHasher64CommonJvm.kt",
          "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXStringHasherJs.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Js.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "adcf68efa47c94784727a3f9149759096745f974",
        "timestamp" : 1734001257000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Modularize XXHash\u000a\u000aXXHash functionality is needed for systemdb module to convert between network/database entities. Will likely be needed in other modules.\u000a",
        "date" : "2024-12-12 15:00:57 +0400",
        "id" : "adcf68efa47c94784727a3f9149759096745f974",
        "msg" : "Modularize XXHash",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXHasher64Js.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/jsTest/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXHashJsTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/LearningSpace.sq"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/SystemDbRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/DeleteXapiStateUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbRepositorySqlDelight.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/cuint/CUINTWrapper.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXStringHasherJs.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryCommonJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-commonjvmimpl/src/jvmTest/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXHashJvmTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasher.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXStringHasher.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/ListXapiStateIdsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/xxhash/XXHashWrapper.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceInfoExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/jsimpl/XXHasher64FactoryJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParamsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Js.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-commonjvmimpl/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXStringHasherExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/LearningSpaceDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbDataSourceSqlDelight.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/LearningSpaceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXHasher64Factory.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-commonjvmimpl/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXHasher64CommonJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-commonjvmimpl/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXStringHasherCommonJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-commonjvmimpl/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/commonjvmimpl/XXHasher64FactoryCommonJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/SystemDbDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/ext/LongExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/wrappers/XXHashWrapper.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherCommonJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Factory.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoRepositorySqlDelight.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/jsMain/kotlin/com/ustadmobile/xxhashkmp/wrappers/CUINTWrapper.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoDataSourceSqlDelight.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-commonjvmimpl/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xxhashkmp-core/src/commonMain/kotlin/com/ustadmobile/xxhashkmp/XXHasher64.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64CommonJvm.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbDataSourceSqlDelight.kt",
          "lib-systemdb-sqldelight/build.gradle.kts",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/LearningSpaceDataSourceHttp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/SystemDbDataSourceHttp.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoDataSourceSqlDelight.kt",
          "lib-systemdb-core/build.gradle.kts",
          "gradle/libs.versions.toml"
        ],
        "commitId" : "573a02d1caf3295037d7d9440b51aefeeaae22a5",
        "timestamp" : 1734007650000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle showing list of learning spaces on desktop using SQLDelight based implementation.\u000a",
        "date" : "2024-12-12 16:47:30 +0400",
        "id" : "573a02d1caf3295037d7d9440b51aefeeaae22a5",
        "msg" : "Handle showing list of learning spaces on desktop using SQLDelight based implementation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/SystemDbDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbDataSourceSqlDelight.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/LearningSpaceDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoDataSourceSqlDelight.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb-core/build.gradle.kts",
          "lib-systemdb-sqldelight/build.gradle.kts"
        ],
        "commitId" : "2e3b71bccfc4a2834fafc5740f8842e5f74a5cc6",
        "timestamp" : 1734007918000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove explicit dependsOn for lib-systemdb-core and lib-systemdb-sqldelight such that default hierarchy is applied.\u000a",
        "date" : "2024-12-12 16:51:58 +0400",
        "id" : "2e3b71bccfc4a2834fafc5740f8842e5f74a5cc6",
        "msg" : "Remove explicit dependsOn for lib-systemdb-core and lib-systemdb-sqldelight such that default hierarchy is applied.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
        ],
        "commitId" : "0d7022d70d64344509f5a45056adc458da8d91f2",
        "timestamp" : 1734009929000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix LearningSpaceServerRepo add function to add learningspace to in memory cache.\u000a",
        "date" : "2024-12-12 17:25:29 +0400",
        "id" : "0d7022d70d64344509f5a45056adc458da8d91f2",
        "msg" : "Fix LearningSpaceServerRepo add function to add learningspace to in memory cache.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/.attach_pid65957",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/LearningSpaceDataSourceHttp.kt"
        ],
        "commitId" : "2bdc69faeee4a0ad485548fa5a398d35f643c20c",
        "timestamp" : 1734012875000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle listing learning spaces on Android using SQLDelight based systemdb.\u000a",
        "date" : "2024-12-12 18:14:35 +0400",
        "id" : "2bdc69faeee4a0ad485548fa5a398d35f643c20c",
        "msg" : "Handle listing learning spaces on Android using SQLDelight based systemdb.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/LearningSpaceDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/.attach_pid65957"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
        ],
        "commitId" : "f81b91319153f2a72680655e57d93c6ab93046bb",
        "timestamp" : 1734014359000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update app-react to use SQLDelight based learning space list.\u000a",
        "date" : "2024-12-12 18:39:19 +0400",
        "id" : "f81b91319153f2a72680655e57d93c6ab93046bb",
        "msg" : "Update app-react to use SQLDelight based learning space list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/learningspacelist/LearningSpaceListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "test-end-to-end/android-maestro/settings.gradle"
        ],
        "commitId" : "74dbd9df16fcb76379a18e234d67215cccdbfd8a",
        "timestamp" : 1734078230000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Duration- Desktop/Android\u000a",
        "date" : "2024-12-13 13:53:50 +0530",
        "id" : "74dbd9df16fcb76379a18e234d67215cccdbfd8a",
        "msg" : "Duration- Desktop/Android",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/settings.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "122e3792aa62e0b10cbdde09a596847d778ae16e",
        "timestamp" : 1734091070000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "React duration\u000a",
        "date" : "2024-12-13 17:27:50 +0530",
        "id" : "122e3792aa62e0b10cbdde09a596847d778ae16e",
        "msg" : "React duration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "0f57bc95fdda65640462d6010eb0948c6a613853",
        "timestamp" : 1734092892000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Time and date Session List React\u000a",
        "date" : "2024-12-13 17:58:12 +0530",
        "id" : "0f57bc95fdda65640462d6010eb0948c6a613853",
        "msg" : "Time and date Session List React",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "4bb1498e8f9c58174abce3c4f18c5a0fef9b8028",
        "timestamp" : 1734093617000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Time and date Session List React\u000a",
        "date" : "2024-12-13 18:10:17 +0530",
        "id" : "4bb1498e8f9c58174abce3c4f18c5a0fef9b8028",
        "msg" : "Time and date Session List React",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "f046e3204c4284f3781abe797f7ac7181fc9f296",
        "timestamp" : 1734093881000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "If no score or completion percentage in the statement list\u000a",
        "date" : "2024-12-13 18:14:41 +0530",
        "id" : "f046e3204c4284f3781abe797f7ac7181fc9f296",
        "msg" : "If no score or completion percentage in the statement list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "22d854f4ac11d3f36d4d9204e597edcc0e36899e",
        "timestamp" : 1734094289000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "If no score or completion percentage in the statement list\u000a",
        "date" : "2024-12-13 18:21:29 +0530",
        "id" : "22d854f4ac11d3f36d4d9204e597edcc0e36899e",
        "msg" : "If no score or completion percentage in the statement list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
        ],
        "commitId" : "a32a90e71658d27b2cf6d5ad5620932a0e84d8c5",
        "timestamp" : 1734114999000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "title updated\u000a",
        "date" : "2024-12-14 00:06:39 +0530",
        "id" : "a32a90e71658d27b2cf6d5ad5620932a0e84d8c5",
        "msg" : "title updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/README.md",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/DiTag.kt"
        ],
        "commitId" : "0ca4bec11b1829268fc957cb405f97714855af2b",
        "timestamp" : 1734182123000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete server Google API key config\u000aUpdate ktor database init to avoid throwing exception when running via source. See https://github.com/UstadMobile/UstadMobile/issues/994\u000a",
        "date" : "2024-12-14 17:15:23 +0400",
        "id" : "0ca4bec11b1829268fc957cb405f97714855af2b",
        "msg" : "Remove obsolete server Google API key config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/DiTag.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
        ],
        "commitId" : "3b52f9a663110505ae36ac2dce44efb3ba4ded47",
        "timestamp" : 1734254185000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix Cypress 004-005 - after student clicks submit needed to ensure that submission was saved before moving on.\u000a",
        "date" : "2024-12-15 13:16:25 +0400",
        "id" : "3b52f9a663110505ae36ac2dce44efb3ba4ded47",
        "msg" : "Fix Cypress 004-005 - after student clicks submit needed to ensure that submission was saved before moving on.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbDataSourceSqlDelight.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/repo/LearningSpaceRepository.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/LearningSpaceDataSourceHttp.kt",
          "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/SystemConfigAuth.sq",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceInfoExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/sysconfiginit/GenerateSystemConfigAuthUseCase.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfig.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-systemdb-core/.gitignore",
          "lib-centralappconfigdb-sqldelight/src/main/sqldelight/com/ustadmobile/centralappconfigdb/db/LearningSpace.sq",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "lib-systemdb-sqldelight/.gitignore",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/SystemDbDataSource.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-centralappconfigdb-sqldelight/.gitignore",
          "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/LearningSpace.sq",
          "app-ktor-server/build.gradle",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/SystemDbDataSourceHttp.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoDataSourceSqlDelight.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/network/LearningSpaceDataSourceHttp.kt",
          "README.md",
          "app-android/proguard-rules.pro",
          "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/CentralAppConfigDbDataSourceSqlDelight.kt",
          "lib-systemdb-sqldelight/src/jvmMain/kotlin/com/ustadmobile/systemdb/Scratch.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/model/LearningSpaceInfo.kt",
          "lib-centralappconfigdb-sqldelight/src/main/sqldelight/com/ustadmobile/centralappconfigdb/db/SystemConfigAuth.sq",
          "app-android/build.gradle",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceEntityExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/verifyauth/VerifySystemConfigAuthUseCase.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/CentralAppConfigDbDataSource.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfigAuth.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-centralappconfigdb-sqldelight/README.md",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/LearningSpaceDataSource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/model/LearningSpaceConfig.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/update/UpdateLearningSpaceUseCase.kt",
          "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/adapters/LearningSpaceConfigAndInfoExt.kt",
          "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/LearningSpaceInfoDataSourceSqlDelight.kt",
          "lib-systemdb-sqldelight/build.gradle.kts",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt",
          "lib-centralappconfigdb-common/README.md",
          "settings.gradle",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt",
          "lib-centralappconfigdb-common/.gitignore",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt",
          "lib-systemdb-sqldelight/README.md",
          "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/adapters/LearningSpaceEntityExt.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/network/CentralAppConfigDbDataSourceHttp.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/SystemDbRepository.kt",
          "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceConfigAndInfoExt.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/repo/CentralAppConfigDbRepository.kt",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/model/LearningSpaceConfigAndInfo.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt",
          "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/adapters/LearningSpaceInfoExt.kt",
          "lib-centralappconfigdb-common/build.gradle.kts",
          "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/LearningSpaceDataSource.kt",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/LearningSpaceRepository.kt",
          "core/build.gradle",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt",
          "lib-centralappconfigdb-sqldelight/build.gradle.kts",
          "app-desktop/build.gradle.kts",
          "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt",
          "lib-systemdb-core/build.gradle.kts",
          "ARCHITECTURE.md"
        ],
        "commitId" : "f705a9e1a1cb35794d639b7cd5c7a8a5b48340c1",
        "timestamp" : 1734276987000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor libsystemdb to lib-centralappconfigdb and update docs.\u000a",
        "date" : "2024-12-15 19:36:27 +0400",
        "id" : "f705a9e1a1cb35794d639b7cd5c7a8a5b48340c1",
        "msg" : "Refactor libsystemdb to lib-centralappconfigdb and update docs.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/LearningSpaceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/model/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/network/LearningSpaceDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/SystemConfigAuth.sq"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceInfoExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceConfigAndInfoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/SystemDbDataLayer.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/SystemDbDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/main/sqldelight/com/ustadmobile/centralappconfigdb/db/LearningSpace.sq"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/SystemDbDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/jvmMain/kotlin/com/ustadmobile/systemdb/Scratch.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/model/LearningSpaceConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/adapters/LearningSpaceInfoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfig.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/README.md"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceConfigAndInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/entities/SystemConfigAuth.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/repo/CentralAppConfigDbRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/main/sqldelight/systemdb/data/LearningSpace.sq"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/SystemConfigScriptRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/CentralAppConfigDbDataSourceSqlDelight.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/LearningSpaceServerRepo.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/model/LearningSpaceInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/main/sqldelight/com/ustadmobile/centralappconfigdb/db/SystemConfigAuth.sq"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/update/UpdateLearningSpaceUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/verifyauth/VerifySystemConfigAuthUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/model/LearningSpaceInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/network/LearningSpaceDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/adapters/LearningSpaceEntityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/datasource/LearningSpaceDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/network/CentralAppConfigDbDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/SystemDbDataSourceSqlDelight.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-android/proguard-rules.pro"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/systemconfig/sysconfiginit/GenerateSystemConfigAuthUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/CentralAppConfigDbDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/LearningSpaceInfoDataSourceSqlDelight.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/repo/LearningSpaceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/repo/LearningSpaceInfoDataSourceSqlDelight.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/adapters/LearningSpaceConfigAndInfoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-sqldelight/src/commonMain/kotlin/com/ustadmobile/appconfigdb/adapters/LearningSpaceEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-centralappconfigdb-common/src/commonMain/kotlin/com/ustadmobile/centralappconfigdb/datasource/LearningSpaceDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-systemdb-core/src/commonMain/kotlin/com/ustadmobile/systemdb/repo/SystemDbRepository.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "26f915f1d5ffdab7d05be2d1e8f5cdd690de94b0",
        "timestamp" : 1734326168000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list test update\u000a",
        "date" : "2024-12-16 10:46:08 +0530",
        "id" : "26f915f1d5ffdab7d05be2d1e8f5cdd690de94b0",
        "msg" : "attempt list test update",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card.md"
        ],
        "commitId" : "35b77056ec9232dea92a00fcebe679a3f795fb9f",
        "timestamp" : 1734329819000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update task_card.md\u000a",
        "date" : "2024-12-16 10:16:59 +0400",
        "id" : "35b77056ec9232dea92a00fcebe679a3f795fb9f",
        "msg" : "Update task_card.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/task_card.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "177ced279c5863e2171891c9c40fbd2985e1edcc",
        "timestamp" : 1734339548000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list test update\u000a",
        "date" : "2024-12-16 14:29:08 +0530",
        "id" : "177ced279c5863e2171891c9c40fbd2985e1edcc",
        "msg" : "attempt list test update",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_010_content_attempt_list_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "74b1fe9b58e783304f9ff167ed7fa56d224640fe",
        "timestamp" : 1734344582000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "duration-timestamp updated\u000a",
        "date" : "2024-12-16 15:53:02 +0530",
        "id" : "74b1fe9b58e783304f9ff167ed7fa56d224640fe",
        "msg" : "duration-timestamp updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md"
        ],
        "commitId" : "349684cab49de59d8f2b9176170603f46273bfe6",
        "timestamp" : 1734353523000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list test description update\u000a",
        "date" : "2024-12-16 18:22:03 +0530",
        "id" : "349684cab49de59d8f2b9176170603f46273bfe6",
        "msg" : "attempt list test description update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "fc193ac8097794244a70a50dab6634c1d6953bfa",
        "timestamp" : 1734355495000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Make sure apk file is found and installed before starting maestro test\u000a",
        "date" : "2024-12-16 18:54:55 +0530",
        "id" : "fc193ac8097794244a70a50dab6634c1d6953bfa",
        "msg" : "Make sure apk file is found and installed before starting maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "10d032270a7e6b7d99b81af79786203582ea929c",
        "timestamp" : 1734357688000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Make sure apk file is found and installed before starting maestro test\u000a",
        "date" : "2024-12-16 19:31:28 +0530",
        "id" : "10d032270a7e6b7d99b81af79786203582ea929c",
        "msg" : "Make sure apk file is found and installed before starting maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "897dd78083b31d95580f3db575d146fdd164c98c",
        "timestamp" : 1734368071000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Readme update\u000a",
        "date" : "2024-12-16 22:24:31 +0530",
        "id" : "897dd78083b31d95580f3db575d146fdd164c98c",
        "msg" : "Readme update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "5ce48b185ce1535267d67b99eaab37af6c474ccf",
        "timestamp" : 1734372247000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update README.md\u000a",
        "date" : "2024-12-16 22:04:07 +0400",
        "id" : "5ce48b185ce1535267d67b99eaab37af6c474ccf",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "82c22364245c4c6b5602fbbeb0f0a8a1b898a5b6",
        "timestamp" : 1734372318000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update README.md\u000a\u000aClarify SDK emulator\u000a",
        "date" : "2024-12-16 22:05:18 +0400",
        "id" : "82c22364245c4c6b5602fbbeb0f0a8a1b898a5b6",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "1d7d48eba03287acb1e5c397974a2f8f662be226",
        "timestamp" : 1734372448000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update README.md\u000a\u000aAvoid duplicate instructions on building Android apk in maestro README.\u000a",
        "date" : "2024-12-16 22:07:28 +0400",
        "id" : "1d7d48eba03287acb1e5c397974a2f8f662be226",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "1cd487225665290542ed3b53d1c80ea3c9fa58bb",
        "timestamp" : 1734372625000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update README.md\u000a\u000aUpdate Android Maestro README to remove duplicated instructions on running a single test.\u000a",
        "date" : "2024-12-16 22:10:25 +0400",
        "id" : "1cd487225665290542ed3b53d1c80ea3c9fa58bb",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "d4760f868a51ca198b79dfacba2e47a4f6e8428f",
        "timestamp" : 1734372668000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update README.md\u000a",
        "date" : "2024-12-16 22:11:08 +0400",
        "id" : "d4760f868a51ca198b79dfacba2e47a4f6e8428f",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
        ],
        "commitId" : "c2f81c84bf78281f5bf59f9b447c8fd77981dcf9",
        "timestamp" : 1734412789000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2024-12-17 10:49:49 +0530",
        "id" : "c2f81c84bf78281f5bf59f9b447c8fd77981dcf9",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "e37d69e5e9314f4d6fbb7aa0f0d8c07d04992934",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "e37d69e5e9314f4d6fbb7aa0f0d8c07d04992934",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/DismissSocialWarningUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "b057ced6184bc275001a92444754dfca24547c04",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "added social warning in MessageListScreen and ClazzAssignmentDetailOverviewScreen .\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "b057ced6184bc275001a92444754dfca24547c04",
        "msg" : "added social warning in MessageListScreen and ClazzAssignmentDetailOverviewScreen .",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/DismissSocialWarningUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "1901169f7dbd911b5e7b1c1b8ccaf49dcf452818",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "added social warning strings in strings.xml\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "1901169f7dbd911b5e7b1c1b8ccaf49dcf452818",
        "msg" : "added social warning strings in strings.xml",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
        ],
        "commitId" : "0a9717434db9cd940702377dc00d68ce2e60144b",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "removed hardcoded color value from SocialWarningListItem.kt\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "0a9717434db9cd940702377dc00d68ce2e60144b",
        "msg" : "removed hardcoded color value from SocialWarningListItem.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "aefd76610c229b970b07b9f2de4a1c46efa1227e",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "correct naming convention\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "aefd76610c229b970b07b9f2de4a1c46efa1227e",
        "msg" : "correct naming convention",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "49e69a259c04f477c6b4a026d0a9d9a4620f00f8",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "correct naming convention\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "49e69a259c04f477c6b4a026d0a9d9a4620f00f8",
        "msg" : "correct naming convention",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
        ],
        "commitId" : "746f3fcaeb67e7e7bc99ba6c5c0d3132ab6909ea",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fixed binding issue in jvmTest\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "746f3fcaeb67e7e7bc99ba6c5c0d3132ab6909ea",
        "msg" : "Fixed binding issue in jvmTest",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
        ],
        "commitId" : "e4ccd48e63e0a9c6284286a0da3325e6d048bf75",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Adjust Ui.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "e4ccd48e63e0a9c6284286a0da3325e6d048bf75",
        "msg" : "Adjust Ui.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "53d0b64b8bd47baafef283b1d2dd6dbca6f03fee",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Reverted unintended formatting changes in unrelated files.\u000aRemoved unnecessary Paper and obsolete cautions list as per review feedback.\u000aUpdated SocialWarningListItem layout to match task requirements with headline, secondary text, and buttons below text.\u000aRemoved unnecessary Paper and obsolete cautions list as per review feedback.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "53d0b64b8bd47baafef283b1d2dd6dbca6f03fee",
        "msg" : "Reverted unintended formatting changes in unrelated files.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "931991224948b8e14f983da2dacc8a4ab05c2854",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fix String issue & social warning url.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "931991224948b8e14f983da2dacc8a4ab05c2854",
        "msg" : "Fix String issue & social warning url.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
        ],
        "commitId" : "d0b24ec9cbdae39f91f8316b96a15659ecdde03c",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fix String issue & social warning url.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "d0b24ec9cbdae39f91f8316b96a15659ecdde03c",
        "msg" : "Fix String issue & social warning url.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt"
        ],
        "commitId" : "2b15ddc9c10bd98196ea5fabc140203e8a84fc1a",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "- Moved `SOCIAL_WARNING_WEB_URL` to `ShowSocialWarningUseCase`\u000a- Buttons are part of secondary text with proper alignment in a responsive layout.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "2b15ddc9c10bd98196ea5fabc140203e8a84fc1a",
        "msg" : "- Moved `SOCIAL_WARNING_WEB_URL` to `ShowSocialWarningUseCase`",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/socialwarning/ShowSocialWarningUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
        ],
        "commitId" : "aecbff55bf588b7bc5d400dc41b5ce4a348bbc13",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fixed ui.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "aecbff55bf588b7bc5d400dc41b5ce4a348bbc13",
        "msg" : "Fixed ui.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
        ],
        "commitId" : "52570ddb92261213238c39df37dabd19606c465d",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fixed ui.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "52570ddb92261213238c39df37dabd19606c465d",
        "msg" : "Fixed ui.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/wrapper/gradle-wrapper.properties",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "gradle/libs.versions.toml",
          "build.gradle"
        ],
        "commitId" : "ccecc3fb2a0d336e064743950dcf43a3df3485e3",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update Android Gradle Plugin version.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "ccecc3fb2a0d336e064743950dcf43a3df3485e3",
        "msg" : "Update Android Gradle Plugin version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
        ],
        "commitId" : "6d38dde40d5b87937eadadd1e9412e972598c224",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fix ClazzAssignmentDetailOverviewScreen on app-react: React hook from Social warning was used within an if statement.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "6d38dde40d5b87937eadadd1e9412e972598c224",
        "msg" : "Fix ClazzAssignmentDetailOverviewScreen on app-react: React hook from Social warning was used within an if statement.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/androidInstrumentedTest/kotlin/com/ustadmobile/port/android/db/TestRoomMigration.kt"
        ],
        "commitId" : "c25d4cabd77cade46e962f733f078f2e7298a88d",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Remove obsolete version migration tests from TestRoomMigration\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "c25d4cabd77cade46e962f733f078f2e7298a88d",
        "msg" : "Remove obsolete version migration tests from TestRoomMigration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/androidInstrumentedTest/kotlin/com/ustadmobile/port/android/db/TestRoomMigration.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/task_card.md"
        ],
        "commitId" : "e944c62f5f783b0d8e42f1c077094d5bee816f6d",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update task_card.md\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "e944c62f5f783b0d8e42f1c077094d5bee816f6d",
        "msg" : "Update task_card.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/task_card.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "14ceb3e5b312de18f1f1852b9d856eafd1cb2f49",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Make sure apk file is found and installed before starting maestro test\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "14ceb3e5b312de18f1f1852b9d856eafd1cb2f49",
        "msg" : "Make sure apk file is found and installed before starting maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "3b81e25ca9edf1625cf509460b604310535f5c4f",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Make sure apk file is found and installed before starting maestro test\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "3b81e25ca9edf1625cf509460b604310535f5c4f",
        "msg" : "Make sure apk file is found and installed before starting maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "a3cc97a64259e11a0fd2c13e74dbe00bbf8f79f2",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Readme update\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "a3cc97a64259e11a0fd2c13e74dbe00bbf8f79f2",
        "msg" : "Readme update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "8b9e5de7db4fdb164162bcef41490e4cf2e60175",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update README.md\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "8b9e5de7db4fdb164162bcef41490e4cf2e60175",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "4c96a1e23b7bb158a96da1ede5f666a0a2b83d0f",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update README.md\u000a\u000aClarify SDK emulator\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "4c96a1e23b7bb158a96da1ede5f666a0a2b83d0f",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "beca8d05a655c34e47211614be867914ae48aa5b",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update README.md\u000a\u000aAvoid duplicate instructions on building Android apk in maestro README.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "beca8d05a655c34e47211614be867914ae48aa5b",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "b650d57e59a5387257ff98faab31e7f2804f511c",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update README.md\u000a\u000aUpdate Android Maestro README to remove duplicated instructions on running a single test.\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "b650d57e59a5387257ff98faab31e7f2804f511c",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "b842ae6879f4b9b6f3f2ed7cb08517de9d1ee384",
        "timestamp" : 1734510491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update README.md\u000a",
        "date" : "2024-12-18 13:58:11 +0530",
        "id" : "b842ae6879f4b9b6f3f2ed7cb08517de9d1ee384",
        "msg" : "Update README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "ac324ffd4b8e619541e21c0d3b68cbae44885498",
        "timestamp" : 1734522281000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list maestro test\u000a",
        "date" : "2024-12-18 17:14:41 +0530",
        "id" : "ac324ffd4b8e619541e21c0d3b68cbae44885498",
        "msg" : "attempt list maestro test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "PULLREQUEST-CHECKLIST.md"
        ],
        "commitId" : "86c59ec5104dbd0f82148c2d126295ecfbb2bd2e",
        "timestamp" : 1734526986000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update PULLREQUEST-CHECKLIST.md\u000a\u000aUpdate pull request checklist - note that files unrelated to the pull request should not be changed.\u000a",
        "date" : "2024-12-18 17:03:06 +0400",
        "id" : "86c59ec5104dbd0f82148c2d126295ecfbb2bd2e",
        "msg" : "Update PULLREQUEST-CHECKLIST.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "PULLREQUEST-CHECKLIST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
        ],
        "commitId" : "71cfcb32c8fad233681d53ceed1176c28f6f470e",
        "timestamp" : 1734529593000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "attempts tab added and attempt person list showing\u000a",
        "date" : "2024-12-18 19:16:33 +0530",
        "id" : "71cfcb32c8fad233681d53ceed1176c28f6f470e",
        "msg" : "attempts tab added and attempt person list showing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
        ],
        "commitId" : "5e5bbe35bdb75c3b07639c0fc05e220b1e17ee71",
        "timestamp" : 1734529839000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update\u000a",
        "date" : "2024-12-18 19:20:39 +0530",
        "id" : "5e5bbe35bdb75c3b07639c0fc05e220b1e17ee71",
        "msg" : "Update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "ca3466319d3377e667ea8aee2e5b53aa15acb4b7",
        "timestamp" : 1734529881000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Session List\u000a",
        "date" : "2024-12-18 19:21:21 +0530",
        "id" : "ca3466319d3377e667ea8aee2e5b53aa15acb4b7",
        "msg" : "Session List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "b37272d9cbb4a40d0cd1c8fbd861db4e2c257656",
        "timestamp" : 1734529958000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempts Person List Task\u000a",
        "date" : "2024-12-18 19:22:38 +0530",
        "id" : "b37272d9cbb4a40d0cd1c8fbd861db4e2c257656",
        "msg" : "Attempts Person List Task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "54b373c394baf369f6b0e2b78b72930fc55c8fc1",
        "timestamp" : 1734532561000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list maestro test\u000a",
        "date" : "2024-12-18 20:06:01 +0530",
        "id" : "54b373c394baf369f6b0e2b78b72930fc55c8fc1",
        "msg" : "attempt list maestro test",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
        ],
        "commitId" : "8a5f0496fade57dc744839fee76749c85672b41a",
        "timestamp" : 1734532614000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list maestro test\u000a",
        "date" : "2024-12-18 20:06:54 +0530",
        "id" : "8a5f0496fade57dc744839fee76749c85672b41a",
        "msg" : "attempt list maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "et --hard HEAD@{1}",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "0a09514c83423685a69b011483529913e7a65929",
        "timestamp" : 1734532661000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Changes in statement\u000a",
        "date" : "2024-12-18 20:07:41 +0530",
        "id" : "0a09514c83423685a69b011483529913e7a65929",
        "msg" : "Changes in statement",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "et --hard HEAD@{1}"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "29e5c8d6293d1bae7a6cabc31a207fdfbc91855c",
        "timestamp" : 1734532741000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "attempt list cypress test\u000a",
        "date" : "2024-12-18 20:09:01 +0530",
        "id" : "29e5c8d6293d1bae7a6cabc31a207fdfbc91855c",
        "msg" : "attempt list cypress test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "9db0aa0291c89ecebcd1b2f8c1e9ebcd235955cc",
        "timestamp" : 1734532874000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Changes in statement desktop\u000a",
        "date" : "2024-12-18 20:11:14 +0530",
        "id" : "9db0aa0291c89ecebcd1b2f8c1e9ebcd235955cc",
        "msg" : "Changes in statement desktop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "b0ed9ff65141de6b111f8ad7d7667cfc5e62a40f",
        "timestamp" : 1734533212000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Changes in statement react\u000a",
        "date" : "2024-12-18 20:16:52 +0530",
        "id" : "b0ed9ff65141de6b111f8ad7d7667cfc5e62a40f",
        "msg" : "Changes in statement react",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
        ],
        "commitId" : "da76786087fc132b19f20b513268bf3022c9004a",
        "timestamp" : 1734534806000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "SessionListScreen react/desktop , UstadScreen\u000a",
        "date" : "2024-12-18 20:43:26 +0530",
        "id" : "da76786087fc132b19f20b513268bf3022c9004a",
        "msg" : "SessionListScreen react/desktop , UstadScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
        ],
        "commitId" : "0aa172e04ee97e58319bfb378c44f4556616ce24",
        "timestamp" : 1734535575000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "SessionListScreen react/desktop\u000a",
        "date" : "2024-12-18 20:56:15 +0530",
        "id" : "0aa172e04ee97e58319bfb378c44f4556616ce24",
        "msg" : "SessionListScreen react/desktop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "0dcfeada8371eed77393f4327d0f2e36ef5ce349",
        "timestamp" : 1734536769000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Attempt Peron List\u000a",
        "date" : "2024-12-18 21:16:09 +0530",
        "id" : "0dcfeada8371eed77393f4327d0f2e36ef5ce349",
        "msg" : "Attempt Peron List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
        ],
        "commitId" : "64b3b1d144ab133485e95e707e1b17f5cd2e0589",
        "timestamp" : 1734537617000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Nav-Attempt Person List\u000a",
        "date" : "2024-12-18 21:30:17 +0530",
        "id" : "64b3b1d144ab133485e95e707e1b17f5cd2e0589",
        "msg" : "Nav-Attempt Person List",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "18d306bcec1da6ec7c15b6fe35fd57fa6f32a817",
        "timestamp" : 1734537896000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "unused methods removed from XapiSessionEntityDao\u000a",
        "date" : "2024-12-18 21:34:56 +0530",
        "id" : "18d306bcec1da6ec7c15b6fe35fd57fa6f32a817",
        "msg" : "unused methods removed from XapiSessionEntityDao",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "e5cb70dd07625a66e1d70199c4904cb010c81633",
        "timestamp" : 1734540005000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Person\u000a",
        "date" : "2024-12-18 22:10:05 +0530",
        "id" : "e5cb70dd07625a66e1d70199c4904cb010c81633",
        "msg" : "Person",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
        ],
        "commitId" : "c1afc8e0109984b387fb8e15e3ab07a5cd83874c",
        "timestamp" : 1734541268000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Icon unused\u000a",
        "date" : "2024-12-18 22:31:08 +0530",
        "id" : "c1afc8e0109984b387fb8e15e3ab07a5cd83874c",
        "msg" : "Icon unused",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
        ],
        "commitId" : "fce5813c8f676339a612feb78e606e93a8e70755",
        "timestamp" : 1734594654000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Files not related to task removed\u000a",
        "date" : "2024-12-19 13:20:54 +0530",
        "id" : "fce5813c8f676339a612feb78e606e93a8e70755",
        "msg" : "Files not related to task removed",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
        ],
        "commitId" : "d3aded4aa040c1dffd7083686c5f26ea5724aca3",
        "timestamp" : 1734596504000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix UmAppDatabaseMigration handling of adding ClazzInvite table.\u000aUpdate CreateLearningSpaceUseCase to create new admin only if not already existing.\u000a",
        "date" : "2024-12-19 12:21:44 +0400",
        "id" : "d3aded4aa040c1dffd7083686c5f26ea5724aca3",
        "msg" : "Fix UmAppDatabaseMigration handling of adding ClazzInvite table.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/learningspace/create/CreateLearningSpaceUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "et --hard HEAD@{1}"
        ],
        "commitId" : "09ec0735fbace6cd0c9d335e4522d1d843a3a734",
        "timestamp" : 1734605407000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Delete et --hard HEAD@{1}\u000a",
        "date" : "2024-12-19 16:20:07 +0530",
        "id" : "09ec0735fbace6cd0c9d335e4522d1d843a3a734",
        "msg" : "Delete et --hard HEAD@{1}",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "et --hard HEAD@{1}"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "c9b5aa04be0670fb32253ba5c5befc5732480791",
        "timestamp" : 1734606309000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Readme changes reverted\u000a",
        "date" : "2024-12-19 16:35:09 +0530",
        "id" : "c9b5aa04be0670fb32253ba5c5befc5732480791",
        "msg" : "Readme changes reverted",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "cca97a64fbc68608d8996a43d39e4b81ae1b1b51",
        "timestamp" : 1734606309000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Readme - primary code comparison\u000a",
        "date" : "2024-12-19 16:35:09 +0530",
        "id" : "cca97a64fbc68608d8996a43d39e4b81ae1b1b51",
        "msg" : "Readme - primary code comparison",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UserSessionWithPersonAndLearningSpace.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "1b0d7aeac2d3651729f29ca70d63d3c10436cf18",
        "timestamp" : 1734615850000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "some class name change and coding style commit\u000a",
        "date" : "2024-12-19 19:14:10 +0530",
        "id" : "1b0d7aeac2d3651729f29ca70d63d3c10436cf18",
        "msg" : "some class name change and coding style commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzRedeemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UserSessionWithPersonAndLearningSpace.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDuration.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/RememberFormattedDuration.kt"
        ],
        "commitId" : "f8756e11a3c760edd22027489be190bd40c377a5",
        "timestamp" : 1734679500000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add useFormattedDuration function for Jetpack compose and update React hook.\u000a",
        "date" : "2024-12-20 11:25:00 +0400",
        "id" : "f8756e11a3c760edd22027489be190bd40c377a5",
        "msg" : "Add useFormattedDuration function for Jetpack compose and update React hook.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDuration.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/RememberFormattedDuration.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/LoginWithPasskeyUseCaseImpl.kt"
        ],
        "commitId" : "922bf4cf3ce7315b438e00ca563a14ca31a27867",
        "timestamp" : 1734683335000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "preferImmediatelyAvailableCredentials added\u000a",
        "date" : "2024-12-20 13:58:55 +0530",
        "id" : "922bf4cf3ce7315b438e00ca563a14ca31a27867",
        "msg" : "preferImmediatelyAvailableCredentials added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/LoginWithPasskeyUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "cf594f067fbce266e42e46b51cf3a3a4d5da3e39",
        "timestamp" : 1734687207000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update StatementDao query for findPersonsWithAttempts to include permission checks.\u000a",
        "date" : "2024-12-20 13:33:27 +0400",
        "id" : "cf594f067fbce266e42e46b51cf3a3a4d5da3e39",
        "msg" : "Update StatementDao query for findPersonsWithAttempts to include permission checks.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "c177a383cb144e743b0278797beadb687963cc8b",
        "timestamp" : 1734688962000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Duration code update-\u000areact/desktop\u000a\u000aIf no information of resultDuration present handled\u000a",
        "date" : "2024-12-20 15:32:42 +0530",
        "id" : "c177a383cb144e743b0278797beadb687963cc8b",
        "msg" : "Duration code update-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDuration.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/RememberFormattedDuration.kt"
        ],
        "commitId" : "f2390d38510df3a2a04724914b20afa805fccba8",
        "timestamp" : 1734690617000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Duration code update-\u000areact/desktop\u000a\u000aIf resultDuration is not null but formatted duration is 0hrs and 0mins ,\u000aSo have added secs for that.\u000a",
        "date" : "2024-12-20 16:00:17 +0530",
        "id" : "f2390d38510df3a2a04724914b20afa805fccba8",
        "msg" : "Duration code update-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDuration.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/RememberFormattedDuration.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "9652d908c9b24ad960201aac21ca3d1694ff17a6",
        "timestamp" : 1734691387000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Empty State of List handled for AttemptsStatementListScreen\u000a",
        "date" : "2024-12-20 16:13:07 +0530",
        "id" : "9652d908c9b24ad960201aac21ca3d1694ff17a6",
        "msg" : "Empty State of List handled for AttemptsStatementListScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
        ],
        "commitId" : "e4df9d4e36a5811f70b98b7223c207cd7e5066f7",
        "timestamp" : 1734691944000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Empty State of List handled also if no information available visibilty handled for AttemptsSessionListListScreen\u000a",
        "date" : "2024-12-20 16:22:24 +0530",
        "id" : "e4df9d4e36a5811f70b98b7223c207cd7e5066f7",
        "msg" : "Empty State of List handled also if no information available visibilty handled for AttemptsSessionListListScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "31a86fed8601f8f7f634fb2173e8d53f1816456d",
        "timestamp" : 1734692856000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update StatementDao to fetch Statements required for findPersonsWithAttempts over http.\u000a",
        "date" : "2024-12-20 15:07:36 +0400",
        "id" : "31a86fed8601f8f7f634fb2173e8d53f1816456d",
        "msg" : "Update StatementDao to fetch Statements required for findPersonsWithAttempts over http.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "cc768e76b552910322a3b67011fac2dcac0885bb",
        "timestamp" : 1734693522000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Unused Files removed\u000aAttempts Person list -\u000aif no data available handled\u000aif list empty handled\u000a",
        "date" : "2024-12-20 16:48:42 +0530",
        "id" : "cc768e76b552910322a3b67011fac2dcac0885bb",
        "msg" : "Unused Files removed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "a8273fb06c5abf6ba58b541fd42e7199821397b3",
        "timestamp" : 1734701446000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Changes-\u000ahardcode string removed , changes in material3 import and contentDescription\u000a",
        "date" : "2024-12-20 19:00:46 +0530",
        "id" : "a8273fb06c5abf6ba58b541fd42e7199821397b3",
        "msg" : "Changes-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "1d8c8d310c5a7f56e9b74cb266df4258fe423da4",
        "timestamp" : 1734703116000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "StatementDao updated code\u000a",
        "date" : "2024-12-20 19:28:36 +0530",
        "id" : "1d8c8d310c5a7f56e9b74cb266df4258fe423da4",
        "msg" : "StatementDao updated code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml"
        ],
        "commitId" : "7971ff2e9dbf2703a87a9afb04783b198b732b8b",
        "timestamp" : 1734704933000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "removed unused firebase\u000a",
        "date" : "2024-12-20 19:58:53 +0530",
        "id" : "7971ff2e9dbf2703a87a9afb04783b198b732b8b",
        "msg" : "removed unused firebase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
        ],
        "commitId" : "a4fd6688a679f15d76ecff7d2ba9571738bc4608",
        "timestamp" : 1734942884000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Filter out invalid characters from a username\u000a",
        "date" : "2024-12-23 14:04:44 +0530",
        "id" : "a4fd6688a679f15d76ecff7d2ba9571738bc4608",
        "msg" : "Filter out invalid characters from a username",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/LoginWithSavedPasswordUseCaseImpl.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavePasswordResult.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavedPasswordUseCase.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/SavePasswordUseCaseImpl.kt"
        ],
        "commitId" : "a18991ca0f3a9e49e1e8ed27dbc916fcf0b5e0bf",
        "timestamp" : 1735016989000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "saving password in password manager\u000a",
        "date" : "2024-12-24 10:39:49 +0530",
        "id" : "a18991ca0f3a9e49e1e8ed27dbc916fcf0b5e0bf",
        "msg" : "saving password in password manager",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavePasswordResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavedPasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/LoginWithSavedPasswordUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/SavePasswordUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "2c0da0bac8fade397a8fff22acc261c49d998fd9",
        "timestamp" : 1735028409000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress attempt screen validation\u000a",
        "date" : "2024-12-24 13:50:09 +0530",
        "id" : "2c0da0bac8fade397a8fff22acc261c49d998fd9",
        "msg" : "cypress attempt screen validation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
        ],
        "commitId" : "4be32eb9e99c3fc9fab72ecbfd4b13680946230d",
        "timestamp" : 1735036296000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Filter out invalid characters from a username\u000a",
        "date" : "2024-12-24 16:01:36 +0530",
        "id" : "4be32eb9e99c3fc9fab72ecbfd4b13680946230d",
        "msg" : "Filter out invalid characters from a username",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
        ],
        "commitId" : "1f65b47b80c16b86add2f46384cc8dee9478da33",
        "timestamp" : 1735109679000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Move shouldBlockKeyEvent(isCharAllowed) to companion object and allow numbers in username key events\u000a",
        "date" : "2024-12-25 12:24:39 +0530",
        "id" : "1f65b47b80c16b86add2f46384cc8dee9478da33",
        "msg" : "Move shouldBlockKeyEvent(isCharAllowed) to companion object and allow numbers in username key events",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "a428dd1353906bf90cbd4698192b5541fac85b99",
        "timestamp" : 1735212219000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "String changes and ui changes\u000a",
        "date" : "2024-12-26 16:53:39 +0530",
        "id" : "a428dd1353906bf90cbd4698192b5541fac85b99",
        "msg" : "String changes and ui changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
        ],
        "commitId" : "df97db25ba604791e8144b8ff46698d06ce94def",
        "timestamp" : 1735222523000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Renamed isCharAllowed function to shouldBlockKeyEvent.\u000a",
        "date" : "2024-12-26 19:45:23 +0530",
        "id" : "df97db25ba604791e8144b8ff46698d06ce94def",
        "msg" : "Renamed isCharAllowed function to shouldBlockKeyEvent.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
        ],
        "commitId" : "d573a93c344ac5efab726bf20959037a2146ad91",
        "timestamp" : 1735295758000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Merged Username validation use case.\u000a",
        "date" : "2024-12-27 16:05:58 +0530",
        "id" : "d573a93c344ac5efab726bf20959037a2146ad91",
        "msg" : "Merged Username validation use case.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/LoginWithSavedPasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CredentialResult.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/LoginWithPasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/LoginWithPasskeyUseCase.kt"
        ],
        "commitId" : "0c158cf94c4573de7d2306b29a43a7b9f30d5299",
        "timestamp" : 1735297559000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "LoginWithPasskeyUseCase.kt changed to GetCredentialUseCase\u000a",
        "date" : "2024-12-27 16:35:59 +0530",
        "id" : "0c158cf94c4573de7d2306b29a43a7b9f30d5299",
        "msg" : "LoginWithPasskeyUseCase.kt changed to GetCredentialUseCase",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CredentialResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/LoginWithPasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/LoginWithSavedPasswordUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/LoginWithPasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
        ],
        "commitId" : "2e58c0da9b654e1b753906d3b6855aaa03365bb2",
        "timestamp" : 1735616981000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Refactored username validation, updated DI, and optimized event handling logic.\u000a",
        "date" : "2024-12-31 09:19:41 +0530",
        "id" : "2e58c0da9b654e1b753906d3b6855aaa03365bb2",
        "msg" : "Refactored username validation, updated DI, and optimized event handling logic.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestServer.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/util/network/FindFreePort.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/savelocaluris/AbstractSaveLocalUrisIntegrationTest.kt"
        ],
        "commitId" : "3f6352c15c7a70c97935f680b194a2e4057ae1ad",
        "timestamp" : 1735642920000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix jvm integration tests to use find and use a random available port instead of using hardcoded default ports.\u000a",
        "date" : "2024-12-31 15:02:00 +0400",
        "id" : "3f6352c15c7a70c97935f680b194a2e4057ae1ad",
        "msg" : "Fix jvm integration tests to use find and use a random available port instead of using hardcoded default ports.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/util/network/FindFreePort.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/savelocaluris/AbstractSaveLocalUrisIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/GetCredentialUseCaseImpl.kt",
          "core/build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavePasswordResult.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavedPasswordUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/SavePasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt"
        ],
        "commitId" : "a87cc0e4d043a20cf7f4517f85bd3ed1ceedd4bb",
        "timestamp" : 1735646098000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "getting domain from learning space and moving impl to core\u000a",
        "date" : "2024-12-31 17:24:58 +0530",
        "id" : "a87cc0e4d043a20cf7f4517f85bd3ed1ceedd4bb",
        "msg" : "getting domain from learning space and moving impl to core",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavePasswordResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/util/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/LoginWithSavedPasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js"
        ],
        "commitId" : "e42c8355954b00a303c4a1d0a94261778d0c3482",
        "timestamp" : 1735648477000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix assignment cypress test\u000a\u000aAssertion that assignment text editor is not visible after submission was flawed: it attempted to assert a child element didn't exist after using .get on an element that was removed.\u000a",
        "date" : "2024-12-31 16:34:37 +0400",
        "id" : "e42c8355954b00a303c4a1d0a94261778d0c3482",
        "msg" : "Fix assignment cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "a320221689ed886b34d6164dc8faadf3ca03fbb5",
        "timestamp" : 1735651319000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle Plugin to 8.7.3\u000a",
        "date" : "2024-12-31 17:21:59 +0400",
        "id" : "a320221689ed886b34d6164dc8faadf3ca03fbb5",
        "msg" : "Update Android Gradle Plugin to 8.7.3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "5324d2a0b3541be0a9602fb2a5b4642d272db32a",
        "timestamp" : 1735652135000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix Cypress add content test\u000a",
        "date" : "2024-12-31 17:35:35 +0400",
        "id" : "5324d2a0b3541be0a9602fb2a5b4642d272db32a",
        "msg" : "Fix Cypress add content test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
        ],
        "commitId" : "8ea32840c274290c0916588123aa99784c129a60",
        "timestamp" : 1735799287000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Bind both usecase in DesktopDomainDiModule, Fixed jvm testcase and minor changes.\u000a",
        "date" : "2025-01-02 11:58:07 +0530",
        "id" : "8ea32840c274290c0916588123aa99784c129a60",
        "msg" : "Bind both usecase in DesktopDomainDiModule, Fixed jvm testcase and minor changes.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "translate-screenshots/username_starts_with_number.png",
          "translate-screenshots/username_too_short.png",
          "translate-screenshots/username_invalid_chars.png"
        ],
        "commitId" : "1901049c4efe153a14f7c8772b87b8be70ae7cbd",
        "timestamp" : 1735800220000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Add new strings and screenshots for username validation errors\u000a",
        "date" : "2025-01-02 12:13:40 +0530",
        "id" : "1901049c4efe153a14f7c8772b87b8be70ae7cbd",
        "msg" : "Add new strings and screenshots for username validation errors",
        "paths" : [
          {
            "editType" : "add",
            "file" : "translate-screenshots/username_starts_with_number.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/username_too_short.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/username_invalid_chars.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "f831f84b6099644f845893fdb1be5a55046ecd97",
        "timestamp" : 1735808745000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Setup download/upload task\u000a",
        "date" : "2025-01-02 14:35:45 +0530",
        "id" : "f831f84b6099644f845893fdb1be5a55046ecd97",
        "msg" : "Setup download/upload task",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "642ea4524ac3ffd19af9d06c66d5ba89cfe2d966",
        "timestamp" : 1735824059000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Maestro update concurrent end-to-end tests\u000a",
        "date" : "2025-01-02 18:50:59 +0530",
        "id" : "642ea4524ac3ffd19af9d06c66d5ba89cfe2d966",
        "msg" : "Maestro update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "3d0603f7bf62c960188690a2e59b77725c59ae13",
        "timestamp" : 1735827102000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Maestro update concurrent end-to-end tests\u000a",
        "date" : "2025-01-02 19:41:42 +0530",
        "id" : "3d0603f7bf62c960188690a2e59b77725c59ae13",
        "msg" : "Maestro update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/run-cypress-test.sh"
        ],
        "commitId" : "2805b6d996549a8eeab12d712427424dc761a0fd",
        "timestamp" : 1735827835000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update concurrent end-to-end tests\u000a",
        "date" : "2025-01-02 19:53:55 +0530",
        "id" : "2805b6d996549a8eeab12d712427424dc761a0fd",
        "msg" : "cypress update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/run-cypress-test.sh"
        ],
        "commitId" : "c8d79472d25dea813967070a06e3ffd037b3a7bb",
        "timestamp" : 1735829950000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update concurrent end-to-end tests\u000a",
        "date" : "2025-01-02 20:29:10 +0530",
        "id" : "c8d79472d25dea813967070a06e3ffd037b3a7bb",
        "msg" : "cypress update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "f19e64801a26fb0edfb659f5004ac5a206d98bf6",
        "timestamp" : 1735831401000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update concurrent end-to-end tests\u000a",
        "date" : "2025-01-02 20:53:21 +0530",
        "id" : "f19e64801a26fb0edfb659f5004ac5a206d98bf6",
        "msg" : "maestro update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "f13587137e36f7b4f56c29e072cdf9817b66f777",
        "timestamp" : 1736136863000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Replace username_invalid_chars string to invalid_username.\u000a",
        "date" : "2025-01-06 09:44:23 +0530",
        "id" : "f13587137e36f7b4f56c29e072cdf9817b66f777",
        "msg" : "Replace username_invalid_chars string to invalid_username.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/common/select_site.yaml"
        ],
        "commitId" : "e902b35f5e23d25746d9bcfc512a1dc878c7e592",
        "timestamp" : 1736161372000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update concurrent end-to-end tests\u000a",
        "date" : "2025-01-06 16:32:52 +0530",
        "id" : "e902b35f5e23d25746d9bcfc512a1dc878c7e592",
        "msg" : "maestro update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_site.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "45797d5e75aaeb249df39fbf417d824185dd8741",
        "timestamp" : 1736161415000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update concurrent end-to-end tests\u000a",
        "date" : "2025-01-06 16:33:35 +0530",
        "id" : "45797d5e75aaeb249df39fbf417d824185dd8741",
        "msg" : "maestro update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/build.gradle",
          "app-android-baselineprofile/build.gradle.kts",
          "build.gradle"
        ],
        "commitId" : "0445fd600ae96a62d80fa04123a17f6f72b728ae",
        "timestamp" : 1736164028000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Switch baseline profile module to using Gradle managed devices.\u000a",
        "date" : "2025-01-06 15:47:08 +0400",
        "id" : "0445fd600ae96a62d80fa04123a17f6f72b728ae",
        "msg" : "Switch baseline profile module to using Gradle managed devices.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "app-android/build.gradle"
        ],
        "commitId" : "ce5571df59e8cc89254d3f7261aeea4da1a87092",
        "timestamp" : 1736166121000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Switch from using emulator plugin to using Gradle managed devices for app-android module. Remove emulator plugin.\u000a",
        "date" : "2025-01-06 16:22:01 +0400",
        "id" : "ce5571df59e8cc89254d3f7261aeea4da1a87092",
        "msg" : "Switch from using emulator plugin to using Gradle managed devices for app-android module. Remove emulator plugin.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/run-cypress-test.sh"
        ],
        "commitId" : "c2328e4025f03e681b4bb90f325468bfe97706fa",
        "timestamp" : 1736166673000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update concurrent end-to-end tests\u000a",
        "date" : "2025-01-06 18:01:13 +0530",
        "id" : "c2328e4025f03e681b4bb90f325468bfe97706fa",
        "msg" : "cypress update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/webapp-cypress/run-cypress-test.sh",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/common/startserver.js",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/common/push_test_file_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "fb7413fb18dc856af481e3ef95924b70ce7098ee",
        "timestamp" : 1736173788000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress and maestro update concurrent end-to-end tests\u000a",
        "date" : "2025-01-06 19:59:48 +0530",
        "id" : "fb7413fb18dc856af481e3ef95924b70ce7098ee",
        "msg" : "cypress and maestro update concurrent end-to-end tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/push_test_file_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "test-end-to-end/webapp-cypress/package-lock.json",
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "1b8e96117f20976d5c00fa6c8469c777b605b216",
        "timestamp" : 1736177011000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Use start-server-and-test command as recommended by Cypress docs. Remove the need for the run-cypress-test script.\u000a",
        "date" : "2025-01-06 19:23:31 +0400",
        "id" : "1b8e96117f20976d5c00fa6c8469c777b605b216",
        "msg" : "Use start-server-and-test command as recommended by Cypress docs. Remove the need for the run-cypress-test script.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/README.md"
        ],
        "commitId" : "a567bd3520a266b3d363cd3a55690a3ab540934b",
        "timestamp" : 1736177226000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add documentation notes for webapp-cypress changes.\u000a",
        "date" : "2025-01-06 19:27:06 +0400",
        "id" : "a567bd3520a266b3d363cd3a55690a3ab540934b",
        "msg" : "Add documentation notes for webapp-cypress changes.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerInfo.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "7e13c1909e0830c3dd9d35c56681d8f42a448832",
        "timestamp" : 1736239633000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update TestServer-controller to return json when starting\u000a",
        "date" : "2025-01-07 12:47:13 +0400",
        "id" : "7e13c1909e0830c3dd9d35c56681d8f42a448832",
        "msg" : "Update TestServer-controller to return json when starting",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerInfo.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/README.md",
          "test-end-to-end/webapp-cypress/run-cypress-test.sh"
        ],
        "commitId" : "a1c936e1140a1477294611ca906d0d5f8be6844d",
        "timestamp" : 1736243435000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Delete obsolete run-cypress-test script and update test-end-to-end cypress README.md\u000a",
        "date" : "2025-01-07 13:50:35 +0400",
        "id" : "a1c936e1140a1477294611ca906d0d5f8be6844d",
        "msg" : "Delete obsolete run-cypress-test script and update test-end-to-end cypress README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_006_admin_enable_or_disable_guest_login.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_001_add_or_edit_course_permission_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_002_users_add_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_001_teacher_add_discussion_and_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/003_004_admin_or_teacher_and_content_via_link.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/003_008_content_blocks_title_should_not_be_blank.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_add_private_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_003_move_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_005_course_title_is_mandatory.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_002_add_invalid_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_007_user_able_to_open_text_block.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_dob_field_is_mandatory.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_expand_and_collapse_modules.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_008_user_registration_mandatory_fields_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_user_add_private_comment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_internal_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "eee5403f19086db198b99d1580cecb8f14a45327",
        "timestamp" : 1736250099000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update added before and after commands to start and stop the test server, parameter added for learningspaceurl\u000a",
        "date" : "2025-01-07 17:11:39 +0530",
        "id" : "eee5403f19086db198b99d1580cecb8f14a45327",
        "msg" : "cypress update added before and after commands to start and stop the test server, parameter added for learningspaceurl",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_007_user_able_to_open_text_block.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_dob_field_is_mandatory.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_expand_and_collapse_modules.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_add_private_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_008_user_registration_mandatory_fields_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_005_course_title_is_mandatory.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_001_add_or_edit_course_permission_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/003_004_admin_or_teacher_and_content_via_link.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_002_users_add_course_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_001_teacher_add_discussion_and_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_user_add_private_comment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_006_admin_enable_or_disable_guest_login.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_003_move_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/003_008_content_blocks_title_should_not_be_blank.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_002_add_invalid_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "e4474d8ca13827f244b3873f81fd371bd73ff907",
        "timestamp" : 1736250196000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update\u000a",
        "date" : "2025-01-07 17:13:16 +0530",
        "id" : "e4474d8ca13827f244b3873f81fd371bd73ff907",
        "msg" : "cypress update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/build.gradle",
          "test-end-to-end/webapp-cypress/package.json",
          "gradle/libs.versions.toml",
          "test-end-to-end/webapp-cypress/README.md"
        ],
        "commitId" : "d37ef806f8da50f74ec6c8f97d4d2695f1914b2b",
        "timestamp" : 1736251873000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Cypress runner to support specifying a testserver controller url through an environment variable.\u000a",
        "date" : "2025-01-07 16:11:13 +0400",
        "id" : "d37ef806f8da50f74ec6c8f97d4d2695f1914b2b",
        "msg" : "Update Cypress runner to support specifying a testserver controller url through an environment variable.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/README.md"
        ],
        "commitId" : "d678d5721de7d2c765357e13df5fc4debc1b2882",
        "timestamp" : 1736253564000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update test-end-to-end cypress readme.\u000a",
        "date" : "2025-01-07 16:39:24 +0400",
        "id" : "d678d5721de7d2c765357e13df5fc4debc1b2882",
        "msg" : "Update test-end-to-end cypress readme.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "test-end-to-end/webapp-cypress/package.json",
          "testserver-controller/README.md"
        ],
        "commitId" : "5f8223fca4b3ff3af5e0f183055cf8ade0b32c28",
        "timestamp" : 1736254833000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update parameter names on testserver-controller and README.\u000a",
        "date" : "2025-01-07 17:00:33 +0400",
        "id" : "5f8223fca4b3ff3af5e0f183055cf8ade0b32c28",
        "msg" : "Update parameter names on testserver-controller and README.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt"
        ],
        "commitId" : "6de356bf190da6d1baac3abf83831e041b4dbed5",
        "timestamp" : 1736257518000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix json response from\u000atestserver-controller to provide correct url and port.\u000aUpdate testserver-controller to start server on a random free port.\u000a",
        "date" : "2025-01-07 17:45:18 +0400",
        "id" : "6de356bf190da6d1baac3abf83831e041b4dbed5",
        "msg" : "Fix json response from",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
        ],
        "commitId" : "27babfd18b8178797d25b90d9abac98530ccfdc5",
        "timestamp" : 1736323200000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Add database migration to filter invalid usernames\u000a",
        "date" : "2025-01-08 13:30:00 +0530",
        "id" : "27babfd18b8178797d25b90d9abac98530ccfdc5",
        "msg" : "Add database migration to filter invalid usernames",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
        ],
        "commitId" : "82961dc5b860eb9d53c8d1ff93f6174024fa7f3f",
        "timestamp" : 1736324416000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Revert \"Add database migration to filter invalid usernames\"\u000a\u000aThis reverts commit 27babfd18b8178797d25b90d9abac98530ccfdc5.\u000a",
        "date" : "2025-01-08 13:50:16 +0530",
        "id" : "82961dc5b860eb9d53c8d1ff93f6174024fa7f3f",
        "msg" : "Revert \"Add database migration to filter invalid usernames\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
        ],
        "commitId" : "e868c57022f884bda7a18c43a3096dc71dd7319b",
        "timestamp" : 1736324816000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Add database migration to filter invalid usernames\u000a",
        "date" : "2025-01-08 13:56:56 +0530",
        "id" : "e868c57022f884bda7a18c43a3096dc71dd7319b",
        "msg" : "Add database migration to filter invalid usernames",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_002_add_invalid_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress.config.js",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "0104d096c37445f69e0bedbf4db213a3b5071b3b",
        "timestamp" : 1736334198000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update\u000a",
        "date" : "2025-01-08 16:33:18 +0530",
        "id" : "0104d096c37445f69e0bedbf4db213a3b5071b3b",
        "msg" : "cypress update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_002_add_invalid_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress.config.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/build.gradle",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ApplicationCallExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
        ],
        "commitId" : "dab1e7141729b23cc4ff2c8f1872fbb8730ffed0",
        "timestamp" : 1736351083000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix UmRestApplication handling of absolute file path properties (e.g. dataDir).\u000aInitial (rough) implementation of testserver-controller reverse proxy for Cypress.\u000a\u000aCypress expects to use a single base url for the entire test.\u000a",
        "date" : "2025-01-08 19:44:43 +0400",
        "id" : "dab1e7141729b23cc4ff2c8f1872fbb8730ffed0",
        "msg" : "Fix UmRestApplication handling of absolute file path properties (e.g. dataDir).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ApplicationCallExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "703a9993f4e796f957beb65b753d2c279737f92a",
        "timestamp" : 1736406915000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update\u000a",
        "date" : "2025-01-09 12:45:15 +0530",
        "id" : "703a9993f4e796f957beb65b753d2c279737f92a",
        "msg" : "cypress update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "c816ea084a6c9e13ac372e9210e884a4743767f9",
        "timestamp" : 1736407925000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update TestServerController to respond to / once running.\u000a",
        "date" : "2025-01-09 11:32:05 +0400",
        "id" : "c816ea084a6c9e13ac372e9210e884a4743767f9",
        "msg" : "Update TestServerController to respond to / once running.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "9c3b35a8981ab574f26cb8a338358ea9d7c2a326",
        "timestamp" : 1736407964000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert package.json change\u000a",
        "date" : "2025-01-09 11:32:44 +0400",
        "id" : "9c3b35a8981ab574f26cb8a338358ea9d7c2a326",
        "msg" : "Revert package.json change",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/README.md",
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "35c5848cea20ddd4faf0280606d264e10560fe84",
        "timestamp" : 1736414852000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update package.json to add support for running a specific cypress spec.\u000aUpdate README to document development/testing procedure.\u000a",
        "date" : "2025-01-09 13:27:32 +0400",
        "id" : "35c5848cea20ddd4faf0280606d264e10560fe84",
        "msg" : "Update package.json to add support for running a specific cypress spec.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_005_004_user_add_internal_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_internal_links_to_post.cy.js"
        ],
        "commitId" : "c7ec86d3dfb9d02a2527dd5fe9da1b119c3798ae",
        "timestamp" : 1736427707000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update\u000a",
        "date" : "2025-01-09 18:31:47 +0530",
        "id" : "c7ec86d3dfb9d02a2527dd5fe9da1b119c3798ae",
        "msg" : "cypress update",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_005_004_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
        ],
        "commitId" : "6e0fbb556d6d7ba5be2e34c64927c12225eb36cb",
        "timestamp" : 1736430615000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ServerAppMain setting config file. Set using the default ustad-server.conf file if it exists automatically.\u000a",
        "date" : "2025-01-09 17:50:15 +0400",
        "id" : "6e0fbb556d6d7ba5be2e34c64927c12225eb36cb",
        "msg" : "Fix ServerAppMain setting config file. Set using the default ustad-server.conf file if it exists automatically.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "c02927aec54355543404270eb34abbaf7d1cc6ec",
        "timestamp" : 1736434864000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "set code\u000a",
        "date" : "2025-01-09 20:31:04 +0530",
        "id" : "c02927aec54355543404270eb34abbaf7d1cc6ec",
        "msg" : "set code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "bcac2a0e3cbfac0bdf7eedef64af7e229801727e",
        "timestamp" : 1736437932000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "search functionality -attempt persons list screen (desktop/android)\u000a",
        "date" : "2025-01-09 21:22:12 +0530",
        "id" : "bcac2a0e3cbfac0bdf7eedef64af7e229801727e",
        "msg" : "search functionality -attempt persons list screen (desktop/android)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "3f7301abfc1792e10ef9b239092e3c01ad2c3962",
        "timestamp" : 1736445498000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "search functionality -attempt statement list screen (desktop/android/react)\u000a",
        "date" : "2025-01-09 23:28:18 +0530",
        "id" : "3f7301abfc1792e10ef9b239092e3c01ad2c3962",
        "msg" : "search functionality -attempt statement list screen (desktop/android/react)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.kt"
        ],
        "commitId" : "25049e063ee481d5495907c0acf7569a6bd3244b",
        "timestamp" : 1736494555000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update testServerController start command: wait for server to be ready before returning.\u000a",
        "date" : "2025-01-10 11:35:55 +0400",
        "id" : "25049e063ee481d5495907c0acf7569a6bd3244b",
        "msg" : "Update testServerController start command: wait for server to be ready before returning.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "7f1407db6f1be592fba5d5ed3133bfa590b98283",
        "timestamp" : 1736497079000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add delete reports command to Cypress NPM.\u000a",
        "date" : "2025-01-10 12:17:59 +0400",
        "id" : "7f1407db6f1be592fba5d5ed3133bfa590b98283",
        "msg" : "Add delete reports command to Cypress NPM.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js",
          "cypress.config.js"
        ],
        "commitId" : "85b9dbe10e5e03329d67c5f8b6ddee79cd03eb06",
        "timestamp" : 1736505517000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress update\u000a",
        "date" : "2025-01-10 16:08:37 +0530",
        "id" : "85b9dbe10e5e03329d67c5f8b6ddee79cd03eb06",
        "msg" : "cypress update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "delete",
            "file" : "cypress.config.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCaseHttp.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
        ],
        "commitId" : "4b3a9f27998dbdde123c1e6fb148f1b2fbeb1f97",
        "timestamp" : 1736508822000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "username , the text remains in chip field and Email notification subject line is blank fixed\u000a",
        "date" : "2025-01-10 17:03:42 +0530",
        "id" : "4b3a9f27998dbdde123c1e6fb148f1b2fbeb1f97",
        "msg" : "username , the text remains in chip field and Email notification subject line is blank fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCaseHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/message/SendMessageUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/sms/SendSmsUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
        ],
        "commitId" : "dff2eced14429635de210cdf1b23e7ae006dafe0",
        "timestamp" : 1736508917000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2025-01-10 17:05:17 +0530",
        "id" : "dff2eced14429635de210cdf1b23e7ae006dafe0",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
        ],
        "commitId" : "ab532c93a3a32e4e5cd6e421de06493ce980b14a",
        "timestamp" : 1736516814000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Minor invite tidy up.\u000a",
        "date" : "2025-01-10 17:46:54 +0400",
        "id" : "ab532c93a3a32e4e5cd6e421de06493ce980b14a",
        "msg" : "Minor invite tidy up.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateemail/ValidateEmailUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt"
        ],
        "commitId" : "96be81b01943fd8bea56cab9aa037d58deb12539",
        "timestamp" : 1736520559000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ParseInviteUseCaseTest\u000a",
        "date" : "2025-01-10 18:49:19 +0400",
        "id" : "96be81b01943fd8bea56cab9aa037d58deb12539",
        "msg" : "Fix ParseInviteUseCaseTest",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateemail/ValidateEmailUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "5d0e2a1cfaa5df6f8bac205b2b0b9796c76d58a5",
        "timestamp" : 1736520743000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Workaround for TetsServerController compilation.\u000a",
        "date" : "2025-01-10 18:52:23 +0400",
        "id" : "5d0e2a1cfaa5df6f8bac205b2b0b9796c76d58a5",
        "msg" : "Workaround for TetsServerController compilation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
        ],
        "commitId" : "e36033fbae376fb233d557e66c7d247d663fa8e1",
        "timestamp" : 1736527753000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ServerAppMain to pass config prop using -config= property correctly.\u000aFix ClassInviteViewModel to redirect user if they are not currently logged in.\u000a",
        "date" : "2025-01-10 20:49:13 +0400",
        "id" : "e36033fbae376fb233d557e66c7d247d663fa8e1",
        "msg" : "Fix ServerAppMain to pass config prop using -config= property correctly.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "test-end-to-end/webapp-cypress/README.md"
        ],
        "commitId" : "0d444c6efe772812f6359438f6f2c0c8ec2879fc",
        "timestamp" : 1736691992000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove use of deprecated files function on testserver-controller.\u000aUpdate/fix documentation on running on a single Cypress test.\u000a",
        "date" : "2025-01-12 18:26:32 +0400",
        "id" : "0d444c6efe772812f6359438f6f2c0c8ec2879fc",
        "msg" : "Remove use of deprecated files function on testserver-controller.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "test-end-to-end/webapp-cypress/package.json",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerInfo.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "testserver-controller/README.md"
        ],
        "commitId" : "bcd406c2a46d823bae9096d5534fda4ab11ae370",
        "timestamp" : 1736767692000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "test server controller updated to use ServerRunner class\u000a\u000aThis commit introduces the ServerRunner class to handle starting and stopping server instances.\u000a",
        "date" : "2025-01-13 15:28:12 +0400",
        "id" : "bcd406c2a46d823bae9096d5534fda4ab11ae370",
        "msg" : "test server controller updated to use ServerRunner class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "testserver-controller/README.md",
          "test-end-to-end/webapp-cypress/README.md",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "test-end-to-end/webapp-cypress/package.json",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.kt"
        ],
        "commitId" : "c1053ac4a2d0000f0ae059ce8cced973e5627416",
        "timestamp" : 1736775300000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Test server controller changes:\u000a- Adding support for maestro run mode [work in progress]\u000a- Automatically determine learning space url in Maestro mode by finding the first non-loopback network interface.\u000a- Update README and package json to use new run args\u000a",
        "date" : "2025-01-13 17:35:00 +0400",
        "id" : "c1053ac4a2d0000f0ae059ce8cced973e5627416",
        "msg" : "Test server controller changes:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "e8d422473e844710a58709e49d20cd4a4cace97d",
        "timestamp" : 1736777642000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidyup TestServerController. Remove unused commands.\u000a",
        "date" : "2025-01-13 18:14:02 +0400",
        "id" : "e8d422473e844710a58709e49d20cd4a4cace97d",
        "msg" : "Tidyup TestServerController. Remove unused commands.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/common/startserver.js",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/common/select_site.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "579bf6781021ea88b660cc9763f45c4db606a8ab",
        "timestamp" : 1736780017000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-13 20:23:37 +0530",
        "id" : "579bf6781021ea88b660cc9763f45c4db606a8ab",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_site.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/build-extra-app-copy.sh",
          "test-end-to-end/android-maestro/common/startserver.js",
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "f799014128a3692f0d2cf9b6da7619110911a906",
        "timestamp" : 1736782790000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix startserver.js to use default url when environment variable is not specified.\u000aUpdate startserver.js to set output variables for admin username and password.\u000aUpdate README.md\u000a",
        "date" : "2025-01-13 19:39:50 +0400",
        "id" : "f799014128a3692f0d2cf9b6da7619110911a906",
        "msg" : "Fix startserver.js to use default url when environment variable is not specified.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/build-extra-app-copy.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/stopserver.js"
        ],
        "commitId" : "9de8d5c9a7ed828ea87d8c26fb23433f642d7f4f",
        "timestamp" : 1736833677000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-14 11:17:57 +0530",
        "id" : "9de8d5c9a7ed828ea87d8c26fb23433f642d7f4f",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/stopserver.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/common/push_test_file_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "56c479a1cec1304d930a500e927d0ea7d4d24c68",
        "timestamp" : 1736833960000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Replace Maestro use of CONTROLSERVER_URL with TESTCONTROLLER_URL to match Cypress variable name and Jenkins setups.\u000a",
        "date" : "2025-01-14 09:52:40 +0400",
        "id" : "56c479a1cec1304d930a500e927d0ea7d4d24c68",
        "msg" : "Replace Maestro use of CONTROLSERVER_URL with TESTCONTROLLER_URL to match Cypress variable name and Jenkins setups.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/push_test_file_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml",
          "test-end-to-end/android-maestro/common/startserver.js",
          "test-end-to-end/android-maestro/README.md",
          "test-end-to-end/android-maestro/common/stopserver.js",
          "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml",
          "test-end-to-end/android-maestro/common/user_login.yaml",
          "test-end-to-end/android-maestro/common/add_new_people.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
        ],
        "commitId" : "6463ae8d71d255baf7481f5e650fb351f19b7318",
        "timestamp" : 1736836647000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Replace Maestro use of CONTROLSERVER_URL with TESTCONTROLLER_URL to match Cypress variable name and Jenkins setups.\u000a",
        "date" : "2025-01-14 10:37:27 +0400",
        "id" : "6463ae8d71d255baf7481f5e650fb351f19b7318",
        "msg" : "Replace Maestro use of CONTROLSERVER_URL with TESTCONTROLLER_URL to match Cypress variable name and Jenkins setups.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_people.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/user_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/stopserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "fffd798f10a6fca24afd3b4c12f312ab152050c4",
        "timestamp" : 1736837677000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix package.json: TESTCONTROLLER_URL needs to be passed as a named parameter.\u000a",
        "date" : "2025-01-14 10:54:37 +0400",
        "id" : "fffd798f10a6fca24afd3b4c12f312ab152050c4",
        "msg" : "Fix package.json: TESTCONTROLLER_URL needs to be passed as a named parameter.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "c746b96e0b1715c252a770cf9c18a58aae271dc1",
        "timestamp" : 1736844546000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update README.md with instructions to run adb push for test files if required.\u000a",
        "date" : "2025-01-14 12:49:06 +0400",
        "id" : "c746b96e0b1715c252a770cf9c18a58aae271dc1",
        "msg" : "Update README.md with instructions to run adb push for test files if required.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "daf4ca90c017e8419187430bbafc9856cc99db8a",
        "timestamp" : 1736845091000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update README with note on adb reverse.\u000a",
        "date" : "2025-01-14 12:58:11 +0400",
        "id" : "daf4ca90c017e8419187430bbafc9856cc99db8a",
        "msg" : "Update README with note on adb reverse.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "10d50f8457da9062d578754c60359e398162f464",
        "timestamp" : 1736846669000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update android-maestro README instructions on pushing files.\u000a",
        "date" : "2025-01-14 13:24:29 +0400",
        "id" : "10d50f8457da9062d578754c60359e398162f464",
        "msg" : "Update android-maestro README instructions on pushing files.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh"
        ],
        "commitId" : "629b4fd54340a03e1ea418fdf50d0a0d04427403",
        "timestamp" : 1736855204000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress implementation of run-maestro-ci.sh : script can create and start a fixed number of emulators, wait for them to be ready, then stop and delete them all.\u000a",
        "date" : "2025-01-14 15:46:44 +0400",
        "id" : "629b4fd54340a03e1ea418fdf50d0a0d04427403",
        "msg" : "Work in progress implementation of run-maestro-ci.sh : script can create and start a fixed number of emulators, wait for them to be ready, then stop and delete them all.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/delete_and_download_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/common/startserver.yaml",
          "test-end-to-end/android-maestro/common/add_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/user_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/common/add_member_inside_course.yaml",
          "test-end-to-end/android-maestro/common/edit_recorded_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/common/add_new_people.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/common/add_demo_block_structure.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/common/add_module_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/common/record_attendance.yaml",
          "test-end-to-end/android-maestro/common/enable_guest_login.yaml",
          "test-end-to-end/android-maestro/common/edit_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/common/admin_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/common/push_test_file_to_downloads.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_members.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml"
        ],
        "commitId" : "61c69db772fa5756a144e7d1b968ffc2e9391e5c",
        "timestamp" : 1736859769000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-14 18:32:49 +0530",
        "id" : "61c69db772fa5756a144e7d1b968ffc2e9391e5c",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/push_test_file_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_member_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/admin_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/edit_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_demo_block_structure.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/user_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/delete_and_download_content.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_people.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_module_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/edit_recorded_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_members.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/startserver.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.yaml",
          "test-end-to-end/android-maestro/common/delete_and_download_content.yaml",
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_members.yaml",
          "test-end-to-end/android-maestro/common/add_module_block.yaml",
          "test-end-to-end/android-maestro/common/accepting_course_join_request.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/common/add_member_inside_course.yaml",
          "test-end-to-end/android-maestro/common/edit_recorded_attendance.yaml",
          "test-end-to-end/android-maestro/common/record_attendance.yaml",
          "test-end-to-end/android-maestro/common/enable_guest_login.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml",
          "test-end-to-end/android-maestro/common/add_text_block.yaml",
          "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml",
          "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml",
          "test-end-to-end/android-maestro/common/add_course.yaml",
          "test-end-to-end/android-maestro/common/add_demo_block_structure.yaml"
        ],
        "commitId" : "22f4ca4878b48fcb60d650f10d7ffb55c001a72e",
        "timestamp" : 1736860108000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-14 18:38:28 +0530",
        "id" : "22f4ca4878b48fcb60d650f10d7ffb55c001a72e",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/delete_and_download_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/edit_recorded_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/accepting_course_join_request.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_demo_block_structure.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_members.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/enable_guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_module_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_member_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
        ],
        "commitId" : "553a5830adb91508e982af124ae0ec5ec45e8f2c",
        "timestamp" : 1736860594000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-14 18:46:34 +0530",
        "id" : "553a5830adb91508e982af124ae0ec5ec45e8f2c",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
        ],
        "commitId" : "c5698d2cec24a40817a903a576c0ded0ffe5dadb",
        "timestamp" : 1736866711000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Sharding support for Maestro end-to-end tests: work in progress. Current run-maestro-ci will run sharded tests, however slow emulators may show app not responding dialogs.\u000a",
        "date" : "2025-01-14 18:58:31 +0400",
        "id" : "c5698d2cec24a40817a903a576c0ded0ffe5dadb",
        "msg" : "Sharding support for Maestro end-to-end tests: work in progress. Current run-maestro-ci will run sharded tests, however slow emulators may show app not responding dialogs.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh"
        ],
        "commitId" : "8a393cd58ad03f4a3c0f49639262bf56e060fa88",
        "timestamp" : 1736871355000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "run-maestro-ci.sh script: revert to running one emulator.\u000a",
        "date" : "2025-01-14 20:15:55 +0400",
        "id" : "8a393cd58ad03f4a3c0f49639262bf56e060fa88",
        "msg" : "run-maestro-ci.sh script: revert to running one emulator.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh"
        ],
        "commitId" : "62eeaa3492c9059618c15a2888e327fe42bd7b0e",
        "timestamp" : 1736872070000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-ci.sh script: reinstate no-window param and pass through TESTCONTROLLER_URL variable.\u000a",
        "date" : "2025-01-14 20:27:50 +0400",
        "id" : "62eeaa3492c9059618c15a2888e327fe42bd7b0e",
        "msg" : "Update run-maestro-ci.sh script: reinstate no-window param and pass through TESTCONTROLLER_URL variable.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh"
        ],
        "commitId" : "95c25aa125d990089b90122e1eff245a37f85b1a",
        "timestamp" : 1736873771000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-ci.sh to push files (retrying if required) and save results as junit xml.\u000a",
        "date" : "2025-01-14 20:56:11 +0400",
        "id" : "95c25aa125d990089b90122e1eff245a37f85b1a",
        "msg" : "Update run-maestro-ci.sh to push files (retrying if required) and save results as junit xml.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "313136840483adb0ee242769eeabe20e9df2d4a2",
        "timestamp" : 1736921013000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by name functionality\u000aattempts person list screen (desktop/android/react)\u000a",
        "date" : "2025-01-15 11:33:33 +0530",
        "id" : "313136840483adb0ee242769eeabe20e9df2d4a2",
        "msg" : "sort by name functionality",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
        ],
        "commitId" : "e5f8ca478dd581442e408c2a61757b0536cb3493",
        "timestamp" : 1736935617000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ServerRunner to use hostAddress instead of hostName . hostName (if resolvable only on server) won't work on emulators.\u000a",
        "date" : "2025-01-15 14:06:57 +0400",
        "id" : "e5f8ca478dd581442e408c2a61757b0536cb3493",
        "msg" : "Update ServerRunner to use hostAddress instead of hostName . hostName (if resolvable only on server) won't work on emulators.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh",
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "8fd4eded36d7b4ff19e4aaea4a5e01e9bc451156",
        "timestamp" : 1736942663000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-ci to save debug logs in local output folder for easy reference.\u000aAdd continuous integration info to android-maestro/README.md\u000a",
        "date" : "2025-01-15 16:04:23 +0400",
        "id" : "8fd4eded36d7b4ff19e4aaea4a5e01e9bc451156",
        "msg" : "Update run-maestro-ci to save debug logs in local output folder for easy reference.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/startserver.js"
        ],
        "commitId" : "8141d1369436ea8f523b974f18097508448277fc",
        "timestamp" : 1736946776000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update startserver.js check of TESTCONTROLLER_URL.\u000a",
        "date" : "2025-01-15 17:12:56 +0400",
        "id" : "8141d1369436ea8f523b974f18097508448277fc",
        "msg" : "Update startserver.js check of TESTCONTROLLER_URL.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/common/stopserver.js"
        ],
        "commitId" : "88e70478688b996cd497c0c1b38919250cf1701b",
        "timestamp" : 1736953326000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-15 20:32:06 +0530",
        "id" : "88e70478688b996cd497c0c1b38919250cf1701b",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/stopserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
        ],
        "commitId" : "d7375bd99926c65fe2afb5c654a92006d27454ed",
        "timestamp" : 1736953360000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-15 20:32:40 +0530",
        "id" : "d7375bd99926c65fe2afb5c654a92006d27454ed",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "1503bcef681d3e9265660f00413ad071be1bef4d",
        "timestamp" : 1736954099000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro update\u000a",
        "date" : "2025-01-15 20:44:59 +0530",
        "id" : "1503bcef681d3e9265660f00413ad071be1bef4d",
        "msg" : "maestro update",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "a223362eccc676a3a4204fd05a04c818a57af4b5",
        "timestamp" : 1736962451000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by timestamp functionality\u000aattempts statement list screen (desktop/android/react)\u000a",
        "date" : "2025-01-15 23:04:11 +0530",
        "id" : "a223362eccc676a3a4204fd05a04c818a57af4b5",
        "msg" : "sort by timestamp functionality",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "f8d76366d689471334e9e002786213a0bac44186",
        "timestamp" : 1736963651000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by timestamp functionality\u000aattempts statement list screen (desktop/android/react)\u000a",
        "date" : "2025-01-15 23:24:11 +0530",
        "id" : "f8d76366d689471334e9e002786213a0bac44186",
        "msg" : "sort by timestamp functionality",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "da8194ee2ae4f92c9102c33e6202d7fd467eef89",
        "timestamp" : 1736964367000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by name functionality\u000aattempts person list screen (desktop/android/react)\u000a",
        "date" : "2025-01-15 23:36:07 +0530",
        "id" : "da8194ee2ae4f92c9102c33e6202d7fd467eef89",
        "msg" : "sort by name functionality",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt"
        ],
        "commitId" : "6f81c23d2dc93e1784a5bdf12bce44d2ad0ba639",
        "timestamp" : 1737005473000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added personLct.\u000a",
        "date" : "2025-01-16 11:01:13 +0530",
        "id" : "6f81c23d2dc93e1784a5bdf12bce44d2ad0ba639",
        "msg" : "Added personLct.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
        ],
        "commitId" : "a16402a164555f832be335bb0fca2ed6adc61fdf",
        "timestamp" : 1737006933000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "when invitation sent pop back and sending invitation even  if text present in textfield not created chip\u000a",
        "date" : "2025-01-16 11:25:33 +0530",
        "id" : "a16402a164555f832be335bb0fca2ed6adc61fdf",
        "msg" : "when invitation sent pop back and sending invitation even  if text present in textfield not created chip",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          ".gitignore",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/test-files/content/example.html",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "4545d1b56141e2cbcb1461109cd60f73d9333f8f",
        "timestamp" : 1737036830000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro video update\u000a",
        "date" : "2025-01-16 19:43:50 +0530",
        "id" : "4545d1b56141e2cbcb1461109cd60f73d9333f8f",
        "msg" : "maestro video update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/example.html"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/README.md",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
        ],
        "commitId" : "7d4547e7072b93d73c6d2e4beab583ebb10eabdd",
        "timestamp" : 1737369532000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "username Validation\u000a",
        "date" : "2025-01-20 16:08:52 +0530",
        "id" : "7d4547e7072b93d73c6d2e4beab583ebb10eabdd",
        "msg" : "username Validation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
        ],
        "commitId" : "32a5a802d1c3d61272e529a906df61d1a9dda4d2",
        "timestamp" : 1737374005000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress username Validation\u000a",
        "date" : "2025-01-20 17:23:25 +0530",
        "id" : "32a5a802d1c3d61272e529a906df61d1a9dda4d2",
        "msg" : "cypress username Validation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
        ],
        "commitId" : "b0839b5f488f60ff1839af7a412755ac44bd253d",
        "timestamp" : 1737375928000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed JVM\u000a",
        "date" : "2025-01-20 17:55:28 +0530",
        "id" : "b0839b5f488f60ff1839af7a412755ac44bd253d",
        "msg" : "Fixed JVM",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "eb2f7c7d060b96fc23205139e3d3e8e0be9309ae",
        "timestamp" : 1737376798000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add build status badges\u000a",
        "date" : "2025-01-20 16:39:58 +0400",
        "id" : "eb2f7c7d060b96fc23205139e3d3e8e0be9309ae",
        "msg" : "Add build status badges",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "0aac3db4b3ab0f9488bf9ce2bbb6308aa02177ce",
        "timestamp" : 1737376873000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add build status badges\u000a",
        "date" : "2025-01-20 16:41:13 +0400",
        "id" : "0aac3db4b3ab0f9488bf9ce2bbb6308aa02177ce",
        "msg" : "Add build status badges",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModelTest.kt"
        ],
        "commitId" : "19bb85a01e82fd6b5746b74f0cc81778801c63fd",
        "timestamp" : 1737441525000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Attempt to avoid flakiness on ClazzAssignmentDetailOverviewViewModelTest. Change check for not empty paging source to check for paging source with expected number of results.\u000a",
        "date" : "2025-01-21 10:38:45 +0400",
        "id" : "19bb85a01e82fd6b5746b74f0cc81778801c63fd",
        "msg" : "Attempt to avoid flakiness on ClazzAssignmentDetailOverviewViewModelTest. Change check for not empty paging source to check for paging source with expected number of results.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/README.md",
          "test-end-to-end/webapp-cypress/README.md"
        ],
        "commitId" : "f826cd271d441084d1e22909257c8791345c43bc",
        "timestamp" : 1737442292000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update documentation on end-to-end testing to specify where outputs can be found.\u000a",
        "date" : "2025-01-21 10:51:32 +0400",
        "id" : "f826cd271d441084d1e22909257c8791345c43bc",
        "msg" : "Update documentation on end-to-end testing to specify where outputs can be found.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh",
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "112118a26c0f5267b68a1b7146a134bcf012c93b",
        "timestamp" : 1737444633000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improvements to run-maestro-ci.sh : script checks using adb list packages command to ensure package installation was completed and support running a single test spec.\u000a",
        "date" : "2025-01-21 11:30:33 +0400",
        "id" : "112118a26c0f5267b68a1b7146a134bcf012c93b",
        "msg" : "Improvements to run-maestro-ci.sh : script checks using adb list packages command to ensure package installation was completed and support running a single test spec.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
        ],
        "commitId" : "2488467315ea2545c07c580b1921523016ac1e30",
        "timestamp" : 1737445990000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress and maestro username Validation\u000a",
        "date" : "2025-01-21 13:23:10 +0530",
        "id" : "2488467315ea2545c07c580b1921523016ac1e30",
        "msg" : "cypress and maestro username Validation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
        ],
        "commitId" : "36b1eafe8fbf885c4dae62f105daa27c3a015bb6",
        "timestamp" : 1737449301000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert changes to LoginViewModelTest inadvertently added when changing end-to-end tests.\u000a",
        "date" : "2025-01-21 12:48:21 +0400",
        "id" : "36b1eafe8fbf885c4dae62f105daa27c3a015bb6",
        "msg" : "Revert changes to LoginViewModelTest inadvertently added when changing end-to-end tests.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
        ],
        "commitId" : "fa204a1d4ea1c049a334bf600480d21427733295",
        "timestamp" : 1737449674000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert changes to PersonEditViewModelTest inadvertently added when changing end-to-end tests.\u000a",
        "date" : "2025-01-21 12:54:34 +0400",
        "id" : "fa204a1d4ea1c049a334bf600480d21427733295",
        "msg" : "Revert changes to PersonEditViewModelTest inadvertently added when changing end-to-end tests.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/InviteViaContactScreen.kt"
        ],
        "commitId" : "a11310a8a6af0a71fafc27b4e1de4ac732073f3f",
        "timestamp" : 1737463308000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update invite related files to follow naming conventions.\u000a",
        "date" : "2025-01-21 16:41:48 +0400",
        "id" : "a11310a8a6af0a71fafc27b4e1de4ac732073f3f",
        "msg" : "Update invite related files to follow naming conventions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/redeem/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/ClazzInviteRedeem.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/InviteViaContactScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
        ],
        "commitId" : "5425d35274e1e73da76f35b085b1cdc9b43a7d63",
        "timestamp" : 1737463411000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "select file flow maestro update\u000a",
        "date" : "2025-01-21 18:13:31 +0530",
        "id" : "5425d35274e1e73da76f35b085b1cdc9b43a7d63",
        "msg" : "select file flow maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh"
        ],
        "commitId" : "197d0f4d2ddf7022651db51b9be2259f8d24a07f",
        "timestamp" : 1737465242000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-ci to check and retry creation of avd if required.\u000a",
        "date" : "2025-01-21 17:14:02 +0400",
        "id" : "197d0f4d2ddf7022651db51b9be2259f8d24a07f",
        "msg" : "Update run-maestro-ci to check and retry creation of avd if required.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
        ],
        "commitId" : "8f56d9d2fc7689358a25a748ad89e72647a498a3",
        "timestamp" : 1737470221000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "select file flow maestro update\u000a",
        "date" : "2025-01-21 20:07:01 +0530",
        "id" : "8f56d9d2fc7689358a25a748ad89e72647a498a3",
        "msg" : "select file flow maestro update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
        ],
        "commitId" : "653c35c302ec27c0f3cde12b69b837ad29a24b77",
        "timestamp" : 1737471970000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test\u000a",
        "date" : "2025-01-21 20:36:10 +0530",
        "id" : "653c35c302ec27c0f3cde12b69b837ad29a24b77",
        "msg" : "test",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/select_file_from_picker.yaml"
        ],
        "commitId" : "e5e56d62493ad0aa639f6df7ca132d20b2dc7dbf",
        "timestamp" : 1737473274000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test\u000a",
        "date" : "2025-01-21 20:57:54 +0530",
        "id" : "e5e56d62493ad0aa639f6df7ca132d20b2dc7dbf",
        "msg" : "test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/select_file_from_picker.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          ".gitignore"
        ],
        "commitId" : "37f593a299dea7a55b7f306790cb065f0dc78ef4",
        "timestamp" : 1737473493000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updates\u000a",
        "date" : "2025-01-21 21:01:33 +0530",
        "id" : "37f593a299dea7a55b7f306790cb065f0dc78ef4",
        "msg" : "updates",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/DIExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzInviteWithTimeZone.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemException.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModelTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzInviteAndClazz.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/InviteViaLinkViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/deleteditem/DeletedItemListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModel.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/webview/RememberContentEntryVersionNavigator.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/epubcontent/EpubContentScreen.kt",
          "build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/ClazzTitleExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/joinwithcode/JoinWithCodeViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ExceptionWithStringResource.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/AddChildProfilesViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/EnrolIntoCourseUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getmetadata/ContentEntryGetMetadataViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/bulkaddrunimport/BulkAddPersonRunImportViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/peerreviewerallocationedit/PeerReviewerAllocationEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/bulkaddselectfile/BulkAddPersonSelectFileViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/EditChildProfileViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ExceptionExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInviteWithTimeZone.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModelTest.kt"
        ],
        "commitId" : "3c20d708bd83a7cd943381f335875809c2ae001a",
        "timestamp" : 1737566356000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improvements to ClazzInvite system:\u000a\u000a1) Check invite when redeem screen is opened to ensure it is valid and redeemable\u000a2) Show error messages (if any)\u000a3) Fix queries to ensure updates change last modified time and therefor would sync to server.\u000a",
        "date" : "2025-01-22 21:19:16 +0400",
        "id" : "3c20d708bd83a7cd943381f335875809c2ae001a",
        "msg" : "Improvements to ClazzInvite system:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ExceptionWithStringResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/EditChildProfileViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemException.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/joinwithcode/JoinWithCodeViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/deleteditem/DeletedItemListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/InviteViaLinkViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzInviteAndClazz.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/bulkaddrunimport/BulkAddPersonRunImportViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzInviteWithTimeZone.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/peerreviewerallocationedit/PeerReviewerAllocationEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/child/AddChildProfilesViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInviteWithTimeZone.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ExceptionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/DIExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/ClazzTitleExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/EnrolIntoCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/epubcontent/EpubContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/webview/RememberContentEntryVersionNavigator.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/bulkaddselectfile/BulkAddPersonSelectFileViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteredeem/ClazzInviteRedeemScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getmetadata/ContentEntryGetMetadataViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-ci.sh"
        ],
        "commitId" : "24df3262f46f73f51461ec9048f59874401cd0e1",
        "timestamp" : 1737617783000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-ci to add debug output to diagnose end-to-end tests where maestro fails to launch app.\u000a",
        "date" : "2025-01-23 11:36:23 +0400",
        "id" : "24df3262f46f73f51461ec9048f59874401cd0e1",
        "msg" : "Update run-maestro-ci to add debug output to diagnose end-to-end tests where maestro fails to launch app.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "app-android/build.gradle",
          "app-android-baselineprofile/build.gradle.kts",
          "lib-ihttp-okhttp/build.gradle.kts",
          "test-end-to-end/test-files/content/linklist-concat.ods",
          "testserver-controller/README.md",
          "lib-ihttp-ktor-server/build.gradle.kts",
          "lib-database/build.gradle",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt",
          "testserver-controller/build.gradle",
          "lib-util/build.gradle",
          "lib-ihttp-iostreams/build.gradle.kts",
          "lib-cache/build.gradle.kts",
          "lib-test-common/build.gradle",
          "test-end-to-end/test-files/content/index.html",
          "lib-ihttp-nanohttpd/build.gradle.kts",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "app-ktor-server/build.gradle",
          "core/build.gradle",
          "lib-ui-compose/build.gradle.kts",
          "sharedse/build.gradle",
          "app-desktop/build.gradle.kts",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "lib-ihttp-core/build.gradle.kts",
          "lib-ui-compose-videoplayer/build.gradle.kts"
        ],
        "commitId" : "847406abc882a5e47a22a603b555310907006aae",
        "timestamp" : 1737810122000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Gradle to use jvm 21 consistently (avoid flakey errors.\u000aAdd index.html for test-end-to-end files\u000aAdd port range option for testserver-controller (e.g. for use in continuous integration environment with firewall).\u000a",
        "date" : "2025-01-25 17:02:02 +0400",
        "id" : "847406abc882a5e47a22a603b555310907006aae",
        "msg" : "Update Gradle to use jvm 21 consistently (avoid flakey errors.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/linklist-concat.ods"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-util/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/index.html"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/linklist-concat.ods"
        ],
        "commitId" : "e8a8860a393222228f4d0351d708a28bf5305a53",
        "timestamp" : 1737810153000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update linklist-concat.ods\u000a",
        "date" : "2025-01-25 17:02:33 +0400",
        "id" : "e8a8860a393222228f4d0351d708a28bf5305a53",
        "msg" : "Update linklist-concat.ods",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/linklist-concat.ods"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-util/build.gradle"
        ],
        "commitId" : "ad1208f8e9b87a0e864c50d57c31a9d65df8770c",
        "timestamp" : 1737812555000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove use of jvmTarget 17 on lib-util.\u000a",
        "date" : "2025-01-25 17:42:35 +0400",
        "id" : "ad1208f8e9b87a0e864c50d57c31a9d65df8770c",
        "msg" : "Remove use of jvmTarget 17 on lib-util.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-util/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-cache/build.gradle.kts",
          "lib-test-common/build.gradle",
          "app-android/build.gradle",
          "app-android-baselineprofile/build.gradle.kts",
          "lib-ihttp-nanohttpd/build.gradle.kts",
          "app-ktor-server/build.gradle",
          "core/build.gradle",
          "lib-ihttp-okhttp/build.gradle.kts",
          "lib-ui-compose/build.gradle.kts",
          "sharedse/build.gradle",
          "app-desktop/build.gradle.kts",
          "lib-ihttp-ktor-server/build.gradle.kts",
          "lib-database/build.gradle",
          "testserver-controller/build.gradle",
          "lib-ihttp-core/build.gradle.kts",
          "lib-util/build.gradle",
          "lib-ui-compose-videoplayer/build.gradle.kts",
          "lib-ihttp-iostreams/build.gradle.kts"
        ],
        "commitId" : "74eb019525398085ce80e313c56c71702c18bd12",
        "timestamp" : 1737813969000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert to JDK17 build (due to conflict on app-desktop with proguard).\u000a",
        "date" : "2025-01-25 18:06:09 +0400",
        "id" : "74eb019525398085ce80e313c56c71702c18bd12",
        "msg" : "Revert to JDK17 build (due to conflict on app-desktop with proguard).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-util/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ihttp-ktor-server/build.gradle.kts"
        ],
        "commitId" : "4138ba03008d317c6080dfcdca4e597f0cdfb0ea",
        "timestamp" : 1737814320000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Set lib-ihttp-ktor to use jvmToolchain 17\u000a",
        "date" : "2025-01-25 18:12:00 +0400",
        "id" : "4138ba03008d317c6080dfcdca4e597f0cdfb0ea",
        "msg" : "Set lib-ihttp-ktor to use jvmToolchain 17",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/build.gradle"
        ],
        "commitId" : "1735a20dc32f793ae28119db0599fafd5870a05d",
        "timestamp" : 1737814551000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Set testserver-controller to use JDK17\u000a",
        "date" : "2025-01-25 18:15:51 +0400",
        "id" : "1735a20dc32f793ae28119db0599fafd5870a05d",
        "msg" : "Set testserver-controller to use JDK17",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-test-common/build.gradle"
        ],
        "commitId" : "322da409a196d7b4c1468fd67040eafc138cbc05",
        "timestamp" : 1737815129000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Set lib-test-common to use JDK17\u000a",
        "date" : "2025-01-25 18:25:29 +0400",
        "id" : "322da409a196d7b4c1468fd67040eafc138cbc05",
        "msg" : "Set lib-test-common to use JDK17",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-test-common/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "8cf26b420acea0c2fab92af4d5943a8190306269",
        "timestamp" : 1737955367000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "score in attemptlist\u000a",
        "date" : "2025-01-27 10:52:47 +0530",
        "id" : "8cf26b420acea0c2fab92af4d5943a8190306269",
        "msg" : "score in attemptlist",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteRequest.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteRoute.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/PendingInviteScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/PendingInviteScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/PendingInviteViewModel.kt"
        ],
        "commitId" : "290c1ede5ec94a0ef141f5ab18bfb27c41f31230",
        "timestamp" : 1737957875000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "resend invite added\u000a",
        "date" : "2025-01-27 11:34:35 +0530",
        "id" : "290c1ede5ec94a0ef141f5ab18bfb27c41f31230",
        "msg" : "resend invite added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/PendingInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/PendingInviteScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/PendingInviteScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/redeem/ClazzInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
        ],
        "commitId" : "74dc9a9fa4834ca8c541efc84379decf84026423",
        "timestamp" : 1737967068000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update KDoc comments on ReportSeriesExt.\u000a",
        "date" : "2025-01-27 12:37:48 +0400",
        "id" : "74dc9a9fa4834ca8c541efc84379decf84026423",
        "msg" : "Update KDoc comments on ReportSeriesExt.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/get_started.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-check.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/play_video_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-without-account.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/create_course_with_1teacher_2students.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/edit_recorded_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/stopserver.js",
          "test-end-to-end/android-maestro/e2e-tests/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/student_send_course_join_request_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/dismiss_notification.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/edit_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_demo_block_structure.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_module_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/select_site.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/select_file_from_picker.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_existing_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_member_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/enable_switch_to_content_not_publicly_accessible.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-accept-ad-privacy.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/delete_and_download_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/user_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-accept-and-continue.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/login_download_and_open_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_new_people.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/setDate.js",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/admin_can_copy_course_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/startserver.js",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-tap-notification-no-thanks.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/admin_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/accepting_course_join_request.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_new_teacher_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-tap-accept-or-use-without-account.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/redirect_to_select.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_new_student_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/enable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_get_started.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/select_picture_from_files.yaml"
        ],
        "commitId" : "5a28b38a92160701b1794c0fa3b58986bdfe8faa",
        "timestamp" : 1737970692000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "robin test\u000a",
        "date" : "2025-01-27 13:38:12 +0400",
        "id" : "5a28b38a92160701b1794c0fa3b58986bdfe8faa",
        "msg" : "robin test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/redirect_to_select.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/select_file_from_picker.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_text_block.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/admin_can_copy_course_code.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_get_started.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/get_started.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/accepting_course_join_request.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/enable_guest_login.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/dismiss_notification.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/user_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-check.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-accept-ad-privacy.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-accept-and-continue.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_module_block.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/edit_recorded_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/admin_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/edit_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/select_site.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/login_download_and_open_content.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/startserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/delete_and_download_content.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_student_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/stopserver.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_people.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/student_send_course_join_request_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_assignment_file.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_existing_content_block_to_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_member_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/setDate.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_demo_block_structure.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-tap-notification-no-thanks.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-without-account.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/play_video_content.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/enable_switch_to_content_not_publicly_accessible.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-tap-accept-or-use-without-account.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "da071258ec4b61bc9a7df392ad7598895bfa7a0f",
        "timestamp" : 1737977666000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-27 15:34:26 +0400",
        "id" : "da071258ec4b61bc9a7df392ad7598895bfa7a0f",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
        ],
        "commitId" : "6fee8c07b8e3121a09bcd70bed113c77e00d467c",
        "timestamp" : 1737978746000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-27 15:52:26 +0400",
        "id" : "6fee8c07b8e3121a09bcd70bed113c77e00d467c",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/test-files/content/example.html",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "f0435be8e4d28f0e24e25f9d1a7375d96abad004",
        "timestamp" : 1737985276000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-27 17:41:16 +0400",
        "id" : "f0435be8e4d28f0e24e25f9d1a7375d96abad004",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/example.html"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_assignment_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_004_admin_can_move_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
        ],
        "commitId" : "5fdd777db43d0ac7866c0032ed852ad0c9a88d61",
        "timestamp" : 1737992004000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-27 19:33:24 +0400",
        "id" : "5fdd777db43d0ac7866c0032ed852ad0c9a88d61",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
        ],
        "commitId" : "b36c5d20eea9812fcae6684f90fe4ec949ed8ce4",
        "timestamp" : 1738033608000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-28 07:06:48 +0400",
        "id" : "b36c5d20eea9812fcae6684f90fe4ec949ed8ce4",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
        ],
        "commitId" : "9eb7f9a7c7e14dbb8f2bca7b324f0b7ffc64a54e",
        "timestamp" : 1738049533000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-28 11:32:13 +0400",
        "id" : "9eb7f9a7c7e14dbb8f2bca7b324f0b7ffc64a54e",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/delete_and_download_content.yaml",
          "test-end-to-end/android-maestro/common/redirect_to_select.yaml",
          "test-end-to-end/android-maestro/common/add_module_block.yaml",
          "test-end-to-end/android-maestro/common/accepting_course_join_request.yaml",
          "test-end-to-end/android-maestro/common/record_attendance.yaml",
          "test-end-to-end/android-maestro/common/enable_guest_login.yaml",
          "test-end-to-end/android-maestro/common/edit_course.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml",
          "test-end-to-end/android-maestro/common/admin_can_copy_course_code.yaml",
          "test-end-to-end/android-maestro/common/admin_login.yaml",
          "test-end-to-end/android-maestro/common/guest_login.yaml",
          "test-end-to-end/android-maestro/common/setDate.js",
          "test-end-to-end/android-maestro/common/startserver.js",
          "test-end-to-end/android-maestro/common/add_text_block.yaml",
          "test-end-to-end/android-maestro/common/stopserver.js",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml",
          "test-end-to-end/android-maestro/common/user_login.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-tap-accept-or-use-without-account.yaml",
          "test-end-to-end/android-maestro/common/add_course.yaml",
          "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-without-account.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/common/add_existing_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/common/play_video_content.yaml",
          "test-end-to-end/android-maestro/common/add_member_inside_course.yaml",
          "test-end-to-end/android-maestro/common/edit_recorded_attendance.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-check.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml",
          "test-end-to-end/android-maestro/common/select_site.yaml",
          "test-end-to-end/android-maestro/common/select_file_from_picker.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/common/add_new_people.yaml",
          "test-end-to-end/android-maestro/common/dismiss_notification.yaml",
          "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml",
          "test-end-to-end/android-maestro/common/get_started.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-accept-ad-privacy.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-tap-notification-no-thanks.yaml",
          "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml",
          "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/add_demo_block_structure.yaml"
        ],
        "commitId" : "63e940b07abb5cb37dba7b27c5338b84772fd3b3",
        "timestamp" : 1738053426000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "download files\u000a",
        "date" : "2025-01-28 12:37:06 +0400",
        "id" : "63e940b07abb5cb37dba7b27c5338b84772fd3b3",
        "msg" : "download files",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_existing_content_block_to_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/dismiss_notification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/edit_recorded_attendance.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/get_started.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/select_file_from_picker.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/admin_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/user_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_text_block.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/clear_state_and_get_started.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/play_video_content.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/edit_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/setDate.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-tap-accept-or-use-without-account.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-check.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-tap-notification-no-thanks.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/admin_can_copy_course_code.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_new_people.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-accept-ad-privacy.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-without-account.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/enable_guest_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_demo_block_structure.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_module_block.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/guest_login.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/stopserver.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/accepting_course_join_request.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_member_inside_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/delete_and_download_content.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/record_attendance.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_select.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/select_site.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_002-epub.txt",
          "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_003-video.txt",
          "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_001-h5p.txt",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml"
        ],
        "commitId" : "ff5f0ba6e1599d3a46f3fdaf0d5cc19f0a9f1899",
        "timestamp" : 1738053631000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove redundant e2e test descriptions and disabled tests.\u000a\u000aThe commit removes unnecessary e2e test descriptions and disabled test files that are no longer relevant.\u000a",
        "date" : "2025-01-28 12:40:31 +0400",
        "id" : "ff5f0ba6e1599d3a46f3fdaf0d5cc19f0a9f1899",
        "msg" : "Remove redundant e2e test descriptions and disabled tests.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_001-h5p.txt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_003-video.txt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_002-epub.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/001_001_admin_can_add_content_004_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
        ],
        "commitId" : "ae46cc3701aa8a34a158dea09da0988cc26aa1c4",
        "timestamp" : 1738053696000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Rename e2e-tests.disabled to pending.\u000a",
        "date" : "2025-01-28 12:41:36 +0400",
        "id" : "ae46cc3701aa8a34a158dea09da0988cc26aa1c4",
        "msg" : "Rename e2e-tests.disabled to pending.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.pending/002_010_username_validation.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/001_005_admin_can_remove_content_and_download_again.yaml"
        ],
        "commitId" : "56485fc9bb14c38bb9ac9d300f38a3d47c724bf3",
        "timestamp" : 1738053813000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move Maestro tests 001-005, 001-006 and 002-010 to pending.\u000a\u000aCode changes for software under test required.\u000a",
        "date" : "2025-01-28 12:43:33 +0400",
        "id" : "56485fc9bb14c38bb9ac9d300f38a3d47c724bf3",
        "msg" : "Move Maestro tests 001-005, 001-006 and 002-010 to pending.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/002_010_username_validation.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
        ],
        "commitId" : "fe53c3d96abfc1c719eb49a35d73c480c8250ec0",
        "timestamp" : 1738056198000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes on 004_004 file\u000a",
        "date" : "2025-01-28 13:23:18 +0400",
        "id" : "fe53c3d96abfc1c719eb49a35d73c480c8250ec0",
        "msg" : "changes on 004_004 file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
        ],
        "commitId" : "4f2b21eff077dd5e2f2dc4d89881e65d727c5b5c",
        "timestamp" : 1738056335000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes on 004_004 file\u000a",
        "date" : "2025-01-28 13:25:35 +0400",
        "id" : "4f2b21eff077dd5e2f2dc4d89881e65d727c5b5c",
        "msg" : "changes on 004_004 file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "89d1bbc37370cbefa06e339cc8c03b1bd30cb8d2",
        "timestamp" : 1738057183000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add CI maestro cloud CI script\u000a",
        "date" : "2025-01-28 13:39:43 +0400",
        "id" : "89d1bbc37370cbefa06e339cc8c03b1bd30cb8d2",
        "msg" : "Add CI maestro cloud CI script",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "f33a4b9b17091add171328c5584f7a6826fa771a",
        "timestamp" : 1738060928000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add test port range to run-maestro-cloud-ci script.\u000a",
        "date" : "2025-01-28 14:42:08 +0400",
        "id" : "f33a4b9b17091add171328c5584f7a6826fa771a",
        "msg" : "Add test port range to run-maestro-cloud-ci script.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "a7e63ff887f362c72517c527b25a27094ec37828",
        "timestamp" : 1738061277000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-cloud-ci.sh - set output options\u000a",
        "date" : "2025-01-28 14:47:57 +0400",
        "id" : "a7e63ff887f362c72517c527b25a27094ec37828",
        "msg" : "Update run-maestro-cloud-ci.sh - set output options",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "ef11f88db1c2d9db3a6129028513178aecec4888",
        "timestamp" : 1738061894000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Make run maestro cloud script executable\u000a",
        "date" : "2025-01-28 14:58:14 +0400",
        "id" : "ef11f88db1c2d9db3a6129028513178aecec4888",
        "msg" : "Make run maestro cloud script executable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "b2e3d8d8aa9991a7f8842ddd0fcfff9473e2d181",
        "timestamp" : 1738063645000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update maestro cloud runner script:\u000a\u000a1) Use wait-port to ensure that testserver-controller is running on port as expected\u000a2) Always delete build and log directory to remove previous results.\u000a",
        "date" : "2025-01-28 15:27:25 +0400",
        "id" : "b2e3d8d8aa9991a7f8842ddd0fcfff9473e2d181",
        "msg" : "Update maestro cloud runner script:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "a598c9e7f11edd22b1859db4e4d705a20a9507d4",
        "timestamp" : 1738063814000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update maestro cloud runner script:\u000a\u000a1) Use wait-port to ensure that testserver-controller is running on port as expected\u000a2) Always delete build and log directory to remove previous results.\u000a",
        "date" : "2025-01-28 15:30:14 +0400",
        "id" : "a598c9e7f11edd22b1859db4e4d705a20a9507d4",
        "msg" : "Update maestro cloud runner script:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "7752b240c3cebcf4a7b21b3317858cf74f011ddc",
        "timestamp" : 1738063885000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix port range variable name\u000a",
        "date" : "2025-01-28 15:31:25 +0400",
        "id" : "7752b240c3cebcf4a7b21b3317858cf74f011ddc",
        "msg" : "Fix port range variable name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "7c4a28f8bf98cee5589f4e53beb6db5c692fa09c",
        "timestamp" : 1738065263000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix cypress clear indexed db command\u000a\u000aCypress clear indexed db command did not replace . db names.\u000a",
        "date" : "2025-01-28 15:54:23 +0400",
        "id" : "7c4a28f8bf98cee5589f4e53beb6db5c692fa09c",
        "msg" : "Fix cypress clear indexed db command",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.kt"
        ],
        "commitId" : "7d5ce1cb46921f1dcc8ba2501b987050dd62115d",
        "timestamp" : 1738072685000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add retry server start support to testserver-controller\u000a\u000aCypress server runs were flakey when running on the network IP address rather than localhost. Server JVM was being shutdown.\u000a\u000aImprove testserver-controller logging: each server started will save ustad-server.log within the data directory for easy post mortems.\u000a\u000aDisable WEB_004_005 test - penalty not applied. Needs further investigation.\u000a",
        "date" : "2025-01-28 17:58:05 +0400",
        "id" : "7d5ce1cb46921f1dcc8ba2501b987050dd62115d",
        "msg" : "Add retry server start support to testserver-controller",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "1b1db893f5a32cddefd771e94dfb3fe36b486219",
        "timestamp" : 1738082474000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update run-maestro-cloud-ci.sh to run all tests in e2e-tests.\u000a",
        "date" : "2025-01-28 20:41:14 +0400",
        "id" : "1b1db893f5a32cddefd771e94dfb3fe36b486219",
        "msg" : "Update run-maestro-cloud-ci.sh to run all tests in e2e-tests.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
        ],
        "commitId" : "9d4eb26ee3c40a6a1e4c67c1703be9abff6c14a0",
        "timestamp" : 1738096446000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update maestro cloud ci run script to add timeout.\u000aDisable 004_004 test\u000a",
        "date" : "2025-01-29 00:34:06 +0400",
        "id" : "9d4eb26ee3c40a6a1e4c67c1703be9abff6c14a0",
        "msg" : "Update maestro cloud ci run script to add timeout.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "aa888725cce85d439349b44d4bd5af11c3a9f378",
        "timestamp" : 1738126433000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix run-maestro-cloud-ci.sh - missing backslash resulted in failure to pass url var.\u000a",
        "date" : "2025-01-29 08:53:53 +0400",
        "id" : "aa888725cce85d439349b44d4bd5af11c3a9f378",
        "msg" : "Fix run-maestro-cloud-ci.sh - missing backslash resulted in failure to pass url var.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "10f777ffcf1341c7f4e97e8bba4fc06b6bf76411",
        "timestamp" : 1738129291000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Increase Maestro cloud timeout.\u000a",
        "date" : "2025-01-29 09:41:31 +0400",
        "id" : "10f777ffcf1341c7f4e97e8bba4fc06b6bf76411",
        "msg" : "Increase Maestro cloud timeout.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/001_001_admin_can_add_content_004_using_link.yaml"
        ],
        "commitId" : "7c386bb41bc1d964ff9e587ec6dbce53d6e9a397",
        "timestamp" : 1738148852000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Restore pending test - add content via link\u000a",
        "date" : "2025-01-29 15:07:32 +0400",
        "id" : "7c386bb41bc1d964ff9e587ec6dbce53d6e9a397",
        "msg" : "Restore pending test - add content via link",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/001_001_admin_can_add_content_004_using_link.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004_using_link.yaml"
        ],
        "commitId" : "009f5baf314f657483711f6967a53351c448a238",
        "timestamp" : 1738149423000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Restore pending test - add content via link\u000a",
        "date" : "2025-01-29 15:17:03 +0400",
        "id" : "009f5baf314f657483711f6967a53351c448a238",
        "msg" : "Restore pending test - add content via link",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
        ],
        "commitId" : "3daaebb629de9cf62853e9339884cf9a82ffb65c",
        "timestamp" : 1738149558000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Restore pending test - add content via link\u000a",
        "date" : "2025-01-29 15:19:18 +0400",
        "id" : "3daaebb629de9cf62853e9339884cf9a82ffb65c",
        "msg" : "Restore pending test - add content via link",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
        ],
        "commitId" : "bcc998515c56ff304c368b5c34cc02a2681506eb",
        "timestamp" : 1738149949000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Restore pending test - add content via link\u000a",
        "date" : "2025-01-29 15:25:49 +0400",
        "id" : "bcc998515c56ff304c368b5c34cc02a2681506eb",
        "msg" : "Restore pending test - add content via link",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
        ],
        "commitId" : "48f34e04f98451a16fdcebda2e6989e4c956824c",
        "timestamp" : 1738152195000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Restore pending test - add course comment in assignment\u000a",
        "date" : "2025-01-29 16:03:15 +0400",
        "id" : "48f34e04f98451a16fdcebda2e6989e4c956824c",
        "msg" : "Restore pending test - add course comment in assignment",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml"
        ],
        "commitId" : "9e8a9084c076916040d1703965fb4fa65313d30c",
        "timestamp" : 1738221060000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Restore pending test - add external link in post\u000a",
        "date" : "2025-01-30 11:11:00 +0400",
        "id" : "9e8a9084c076916040d1703965fb4fa65313d30c",
        "msg" : "Restore pending test - add external link in post",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
        ],
        "commitId" : "e41d2362314949fd7c9bb4107723ec321727cad0",
        "timestamp" : 1738222764000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Maestro cloud command to include branch and commit info.\u000a",
        "date" : "2025-01-30 11:39:24 +0400",
        "id" : "e41d2362314949fd7c9bb4107723ec321727cad0",
        "msg" : "Update Maestro cloud command to include branch and commit info.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-cloud-ci.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
        ],
        "commitId" : "ada42c2ed18bfd41e1b5e64ee722cd5440df033a",
        "timestamp" : 1738230199000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Removed hello test\u000a",
        "date" : "2025-01-30 13:43:19 +0400",
        "id" : "ada42c2ed18bfd41e1b5e64ee722cd5440df033a",
        "msg" : "Removed hello test",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/000_000_hello_world.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/bulkaddusers/BulkAddUsersUseCaseJvmTest.kt",
          "app-ktor-server/src/main/resources/staticfiles/bulkaddpersons/bulk-add-persons-template.csv",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "test-end-to-end/test-files/content/Ustad_Teacher_and_Students.csv",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "test-end-to-end/test-files/content/Ustad_Students_List.csv",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonException.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationRequestExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/person/bulkadd/BulkAddPersonRoute.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/bulkaddusers/needs-new-clazz.csv"
        ],
        "commitId" : "4467fe073fc1c8e06e8e07b675c4415c83231c28",
        "timestamp" : 1738243227000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add bulk CSV import support to auto-create courses add needed and http endpoint\u000a\u000aBulk CSV import can auto create courses and enrol both teachers and students\u000aHttp endpoint provided for end-to-end tests ( to allow an end-to-end test to skip logging in as admin and adding accounts).\u000a",
        "date" : "2025-01-30 17:20:27 +0400",
        "id" : "4467fe073fc1c8e06e8e07b675c4415c83231c28",
        "msg" : "Add bulk CSV import support to auto-create courses add needed and http endpoint",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/staticfiles/bulkaddpersons/bulk-add-persons-template.csv"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonException.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/bulkaddusers/BulkAddUsersUseCaseJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/bulkaddusers/needs-new-clazz.csv"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/person/bulkadd/BulkAddPersonRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/Ustad_Students_List.csv"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationRequestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/Ustad_Teacher_and_Students.csv"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/index.html"
        ],
        "commitId" : "609d6eec1355e1603b9ee028319c502db4c845d8",
        "timestamp" : 1738247139000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Ustad_Teacher_and_Students.csv to test files index.html\u000a",
        "date" : "2025-01-30 18:25:39 +0400",
        "id" : "609d6eec1355e1603b9ee028319c502db4c845d8",
        "msg" : "Add Ustad_Teacher_and_Students.csv to test files index.html",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/index.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
        ],
        "commitId" : "18c2f3cf68ad094f7b50f85dbccedade27b872f5",
        "timestamp" : 1738252028000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "added flow to verify file download\u000a",
        "date" : "2025-01-30 19:47:08 +0400",
        "id" : "18c2f3cf68ad094f7b50f85dbccedade27b872f5",
        "msg" : "added flow to verify file download",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
        ],
        "commitId" : "bbc1898405f9273748370e6fbcbbcea648477531",
        "timestamp" : 1738253108000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "added flow to verify file download\u000a",
        "date" : "2025-01-30 20:05:08 +0400",
        "id" : "bbc1898405f9273748370e6fbcbbcea648477531",
        "msg" : "added flow to verify file download",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/set_bulkadd.js",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
        ],
        "commitId" : "b35e11c6539fed7a1902629dda6bb5a8badc6c30",
        "timestamp" : 1738255458000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Bulk add course and members\u000a",
        "date" : "2025-01-30 20:44:18 +0400",
        "id" : "b35e11c6539fed7a1902629dda6bb5a8badc6c30",
        "msg" : "Bulk add course and members",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/set_bulkadd.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "c862e914d5cc740c0178481967bc949051b83b94",
        "timestamp" : 1738268227000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by name-attempt person list\u000a",
        "date" : "2025-01-31 01:47:07 +0530",
        "id" : "c862e914d5cc740c0178481967bc949051b83b94",
        "msg" : "sort by name-attempt person list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "388fb6a0ac5e5ef0c63a5f3053bd975e94a65657",
        "timestamp" : 1738269585000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by timestamp and score -session attempt  list\u000a",
        "date" : "2025-01-31 02:09:45 +0530",
        "id" : "388fb6a0ac5e5ef0c63a5f3053bd975e94a65657",
        "msg" : "sort by timestamp and score -session attempt  list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
        ],
        "commitId" : "3b8cb39efb7db31304897222e71a6545b1179e64",
        "timestamp" : 1738302779000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by name-attempt person list\u000a",
        "date" : "2025-01-31 11:22:59 +0530",
        "id" : "3b8cb39efb7db31304897222e71a6545b1179e64",
        "msg" : "sort by name-attempt person list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "784a36b14bbb66cb1ecbd91a7b47731cc5917071",
        "timestamp" : 1738303425000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by score-attempt person list\u000a",
        "date" : "2025-01-31 11:33:45 +0530",
        "id" : "784a36b14bbb66cb1ecbd91a7b47731cc5917071",
        "msg" : "sort by score-attempt person list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "8a9c20e32c911baf11bebae4f3eb914c590a63c1",
        "timestamp" : 1738307733000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by score-attempt person list\u000a",
        "date" : "2025-01-31 12:45:33 +0530",
        "id" : "8a9c20e32c911baf11bebae4f3eb914c590a63c1",
        "msg" : "sort by score-attempt person list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/PendingInviteScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/PendingInviteScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/PendingInviteViewModel.kt"
        ],
        "commitId" : "4fa9532b4d2f42c7744498f0392e06369f0a41ae",
        "timestamp" : 1738311500000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "pending invite list showing in ClazzMemberListScreen\u000a",
        "date" : "2025-01-31 13:48:20 +0530",
        "id" : "4fa9532b4d2f42c7744498f0392e06369f0a41ae",
        "msg" : "pending invite list showing in ClazzMemberListScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/PendingInviteScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/PendingInviteScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/PendingInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
        ],
        "commitId" : "d98794385ba624c970d2eda85850e743b0be32af",
        "timestamp" : 1738313580000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle potentially flakey file download for Maestro test\u000a\u000a1) Add argument handler in Activity to trigger the view downloads intent (not possible to run directly via Maestro)\u000a2) Update download_file_via_browser.yaml to use repeat logic to ensure that if a download failed, it would be retried.\u000a",
        "date" : "2025-01-31 12:53:00 +0400",
        "id" : "d98794385ba624c970d2eda85850e743b0be32af",
        "msg" : "Handle potentially flakey file download for Maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreenPreview.kt"
        ],
        "commitId" : "6f7259552445d637dde71071208f2f7f28a2eaf1",
        "timestamp" : 1738313701000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "simplified onboarding changes merged\u000a",
        "date" : "2025-01-31 14:25:01 +0530",
        "id" : "6f7259552445d637dde71071208f2f7f28a2eaf1",
        "msg" : "simplified onboarding changes merged",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
        ],
        "commitId" : "fbcb2f647e15e8a0531b7409c846f019a3dd3b5f",
        "timestamp" : 1738314625000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add additional comments/docs on download_file_via_browser.yaml\u000a",
        "date" : "2025-01-31 13:10:25 +0400",
        "id" : "fbcb2f647e15e8a0531b7409c846f019a3dd3b5f",
        "msg" : "Add additional comments/docs on download_file_via_browser.yaml",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/set_bulkadd.js",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
        ],
        "commitId" : "68a00b4c1527e4a7c168a612957c4827c8c19440",
        "timestamp" : 1738319060000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix BulkAddPersonsUseCaseImpl to set the course start time (avoid bug where no start date blocks saving).\u000aUpdate 002_003 and 005_001 tests to use import over http instead of logging in to run bulk import.\u000a",
        "date" : "2025-01-31 14:24:20 +0400",
        "id" : "68a00b4c1527e4a7c168a612957c4827c8c19440",
        "msg" : "Fix BulkAddPersonsUseCaseImpl to set the course start time (avoid bug where no start date blocks saving).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/set_bulkadd.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/test-files/content/Ustad_Teacher_And_Unenrolled_Student.csv",
          "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js"
        ],
        "commitId" : "993e9ae23c169178491ae4fea302b4cedeb6faea",
        "timestamp" : 1738321498000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update tests 002_002, 002_003, 002_007, 003_001 and 005_001 to use import_users_via_http.js\u000aRename import user script\u000aAdd csv which includes an unenrolled student for join with code test.\u000a",
        "date" : "2025-01-31 15:04:58 +0400",
        "id" : "993e9ae23c169178491ae4fea302b4cedeb6faea",
        "msg" : "Update tests 002_002, 002_003, 002_007, 003_001 and 005_001 to use import_users_via_http.js",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/Ustad_Teacher_And_Unenrolled_Student.csv"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
        ],
        "commitId" : "517559984bd295904e7c271216b23a1ca854cb7e",
        "timestamp" : 1738325506000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update test section 003 to use new import from csv over http.\u000a",
        "date" : "2025-01-31 16:11:46 +0400",
        "id" : "517559984bd295904e7c271216b23a1ca854cb7e",
        "msg" : "Update test section 003 to use new import from csv over http.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
        ],
        "commitId" : "9fbe0142b07483bc681f296809cb842dd3a58565",
        "timestamp" : 1738328919000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update test section 004 to use import students over http.\u000a",
        "date" : "2025-01-31 17:08:39 +0400",
        "id" : "9fbe0142b07483bc681f296809cb842dd3a58565",
        "msg" : "Update test section 004 to use import students over http.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
        ],
        "commitId" : "11a04513b12f9e0b3a7af38a845113cedfc4c4d8",
        "timestamp" : 1738330236000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Maestro test section 005 to use import students over http.\u000a",
        "date" : "2025-01-31 17:30:36 +0400",
        "id" : "11a04513b12f9e0b3a7af38a845113cedfc4c4d8",
        "msg" : "Update Maestro test section 005 to use import students over http.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/startserver.js",
          "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js"
        ],
        "commitId" : "33ec306301701d8c5a2f121bf2876c3289da856e",
        "timestamp" : 1738331720000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Maestro scripts that make http calls to add retry logic. One test failure seen where retry was probably needed.\u000a",
        "date" : "2025-01-31 17:55:20 +0400",
        "id" : "33ec306301701d8c5a2f121bf2876c3289da856e",
        "msg" : "Update Maestro scripts that make http calls to add retry logic. One test failure seen where retry was probably needed.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/startserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_new_content_block_to_course.yaml"
        ],
        "commitId" : "ad86691694e17cebec2ad92bd1db1e8fbce775bf",
        "timestamp" : 1738577388000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "update attempt list test\u000a",
        "date" : "2025-02-03 14:09:48 +0400",
        "id" : "ad86691694e17cebec2ad92bd1db1e8fbce775bf",
        "msg" : "update attempt list test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_content_block_to_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "d3f1072101d2054b6271021d125cb525fc27bc6e",
        "timestamp" : 1738579978000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "update cypress attempt list test\u000a",
        "date" : "2025-02-03 14:52:58 +0400",
        "id" : "d3f1072101d2054b6271021d125cb525fc27bc6e",
        "msg" : "update cypress attempt list test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package-lock.json",
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "290bcc42868a40d7fa446888b639e2a5d6b8abe1",
        "timestamp" : 1738591937000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress updated\u000a",
        "date" : "2025-02-03 18:12:17 +0400",
        "id" : "290bcc42868a40d7fa446888b639e2a5d6b8abe1",
        "msg" : "cypress updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/.attach_pid45175",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-ktor-server/.attach_pid44877"
        ],
        "commitId" : "98cb1e2b5b2cbf773b17c551aaf4ae0da1ba0a12",
        "timestamp" : 1738610357000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by score-attempt person list\u000a",
        "date" : "2025-02-04 00:49:17 +0530",
        "id" : "98cb1e2b5b2cbf773b17c551aaf4ae0da1ba0a12",
        "msg" : "sort by score-attempt person list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/.attach_pid45175"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/.attach_pid44877"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/.attach_pid10393",
          "app-ktor-server/.attach_pid10100"
        ],
        "commitId" : "3c36c491f0d36a052d8688b3aa35d060e3227d03",
        "timestamp" : 1738639938000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "sort by score-attempt person list\u000a",
        "date" : "2025-02-04 09:02:18 +0530",
        "id" : "3c36c491f0d36a052d8688b3aa35d060e3227d03",
        "msg" : "sort by score-attempt person list",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-ktor-server/.attach_pid10100"
          },
          {
            "editType" : "add",
            "file" : "core/.attach_pid10393"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.pending/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "d393885861fc6ccc4abeafc4944f4a08c3cf8602",
        "timestamp" : 1738653270000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test update\u000a",
        "date" : "2025-02-04 11:14:30 +0400",
        "id" : "d393885861fc6ccc4abeafc4944f4a08c3cf8602",
        "msg" : "maestro test update",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/package.json",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/package-lock.json"
        ],
        "commitId" : "96c3847b4b4c8c66e30aa974d2656665bbd21cbc",
        "timestamp" : 1738662077000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test update\u000a",
        "date" : "2025-02-04 13:41:17 +0400",
        "id" : "96c3847b4b4c8c66e30aa974d2656665bbd21cbc",
        "msg" : "cypress test update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/adminProfilePic_pexels.txt",
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/test-files/content/index.html",
          "test-end-to-end/test-files/content/courseBannerPic.jpg",
          "test-end-to-end/test-files/content/courseBannerPic_pexels.txt"
        ],
        "commitId" : "ff2a3c99d58c97fd8b3face5a45a3c5cd20eea2a",
        "timestamp" : 1738668050000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "2.5 and 2.8 added to 2.1 - for maestro\u000a",
        "date" : "2025-02-04 15:20:50 +0400",
        "id" : "ff2a3c99d58c97fd8b3face5a45a3c5cd20eea2a",
        "msg" : "2.5 and 2.8 added to 2.1 - for maestro",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/courseBannerPic.jpg"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/adminProfilePic_pexels.txt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/index.html"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/courseBannerPic_pexels.txt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "d6a3844686d5020af82181956f17ad25a301f912",
        "timestamp" : 1738670938000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro- increased timeout for importing and uploading\u000a",
        "date" : "2025-02-04 16:08:58 +0400",
        "id" : "d6a3844686d5020af82181956f17ad25a301f912",
        "msg" : "maestro- increased timeout for importing and uploading",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/004_003_user_add_private_comment_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/test-descriptions/002_005_course_title_is_mandatory_test_description.md",
          "test-end-to-end/test-descriptions/005_002_teacher_can_edit_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/004_009_group_users_add_private_comments_test_description.md",
          "test-end-to-end/test-descriptions/002_008_teacher_or_admin_can_add_banner_photo_to_the_course_test_description.md",
          "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
        ],
        "commitId" : "852b30b06ba0b0e179bf2a2b4f0ec409995c8e1f",
        "timestamp" : 1738672323000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "5.1 and testdescriptions - for maestro\u000a",
        "date" : "2025-02-04 16:32:03 +0400",
        "id" : "852b30b06ba0b0e179bf2a2b4f0ec409995c8e1f",
        "msg" : "5.1 and testdescriptions - for maestro",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_005_course_title_is_mandatory_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_009_group_users_add_private_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_008_teacher_or_admin_can_add_banner_photo_to_the_course_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/005_002_teacher_can_edit_discussion_board_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_003_user_add_private_comment_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
        ],
        "commitId" : "42604c1918b556420cabfe2f46d03d7f6f7f1612",
        "timestamp" : 1738672383000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "4.2 moved to pending(private command not working)- for maestro\u000a",
        "date" : "2025-02-04 16:33:03 +0400",
        "id" : "42604c1918b556420cabfe2f46d03d7f6f7f1612",
        "msg" : "4.2 moved to pending(private command not working)- for maestro",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_003_user_add_private_comment.yaml"
        ],
        "commitId" : "78d28469e0c5be498110c0e6b4cd3492e4f7db3e",
        "timestamp" : 1738675139000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Assignment,gradebook- for maestro\u000a",
        "date" : "2025-02-04 17:18:59 +0400",
        "id" : "78d28469e0c5be498110c0e6b4cd3492e4f7db3e",
        "msg" : "Assignment,gradebook- for maestro",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_comments.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_001_add_or_edit_course_permission_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_005_course_title_is_mandatory.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "42a12bdf2756381c7b8156daba77bedd3f626b4e",
        "timestamp" : 1738681360000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress- tests to use http api\u000a",
        "date" : "2025-02-04 19:02:40 +0400",
        "id" : "42a12bdf2756381c7b8156daba77bedd3f626b4e",
        "msg" : "Cypress- tests to use http api",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_005_course_title_is_mandatory.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_001_add_or_edit_course_permission_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js"
        ],
        "commitId" : "5cd2e0067079ef52a1c308220559a0c448fd9230",
        "timestamp" : 1738737431000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress- attendance test\u000a",
        "date" : "2025-02-05 10:37:11 +0400",
        "id" : "5cd2e0067079ef52a1c308220559a0c448fd9230",
        "msg" : "Cypress- attendance test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_002_users_add_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_001_teacher_add_discussion_and_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_add_private_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_dob_field_is_mandatory.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_007_user_able_to_open_text_block.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_expand_and_collapse_modules.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_008_user_registration_mandatory_fields_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_user_add_private_comment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
        ],
        "commitId" : "f4c499cf3332253adddba126ac50f198ba8f82c3",
        "timestamp" : 1738750450000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress- updated tests\u000a",
        "date" : "2025-02-05 14:14:10 +0400",
        "id" : "f4c499cf3332253adddba126ac50f198ba8f82c3",
        "msg" : "Cypress- updated tests",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_008_user_registration_mandatory_fields_test.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_010_user_registration_phone_field_verification.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_dob_field_is_mandatory.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_002_users_add_course_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_007_user_able_to_open_text_block.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_001_assignment_creation_submission_grading.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_user_add_private_comment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_001_teacher_add_discussion_and_post.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_add_private_comments.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_expand_and_collapse_modules.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js"
        ],
        "commitId" : "cab6670fc8f4497a24a47f3c2cf12881801cb34b",
        "timestamp" : 1738752664000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress- updated tests\u000a",
        "date" : "2025-02-05 14:51:04 +0400",
        "id" : "cab6670fc8f4497a24a47f3c2cf12881801cb34b",
        "msg" : "Cypress- updated tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/admin_profilePic.jpg",
          "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml",
          "test-end-to-end/test-files/content/profile_Pic.jpg",
          "test-end-to-end/android-maestro/e2e-tests.pending/002_010_username_validation.yaml",
          "test-end-to-end/test-files/content/adminProfilePic_pexels.txt",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js",
          "test-end-to-end/test-files/content/index.html",
          "test-end-to-end/test-files/content/profile_Pic_pexels.txt",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
        ],
        "commitId" : "693796ca11c11cf7841311424fcad677dce6e537",
        "timestamp" : 1738756504000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test updates- add profile pic and username validation\u000a",
        "date" : "2025-02-05 15:55:04 +0400",
        "id" : "693796ca11c11cf7841311424fcad677dce6e537",
        "msg" : "maestro test updates- add profile pic and username validation",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/002_010_username_validation.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-files/content/adminProfilePic_pexels.txt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/profile_Pic.jpg"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/profile_Pic_pexels.txt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-files/content/admin_profilePic.jpg"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/index.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/004_015_teacher_or_admin_enable_or_disable_file_submission_test_description.md",
          "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml",
          "test-end-to-end/test-descriptions/002_005_admin_grant_permissions_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_010_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/test-descriptions/007_009_user_registration_email_field_verification_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_peer_marking_for_individual_assignment.cy.js",
          "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/test-descriptions/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js",
          "test-end-to-end/test-descriptions/004_003_multiple_submission_possible_for_student_test_description.md",
          "test-end-to-end/test-descriptions/002_010_username_validation_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_004_004_assignment_after_deadline_and_before_grace_Period.cy.js",
          "test-end-to-end/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/test-descriptions/004_009_group_users_multiple_assignment_submission_allowed_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_grace_period_finished.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_005_003_user_add_internal_links_to_post.cy.js",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_011_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_grace_period_finished.yaml",
          "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_multiple_submission_possible_for_student.cy.js",
          "test-end-to-end/test-descriptions/004_005_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js",
          "test-end-to-end/test-descriptions/004_006_assignment_grace_period_finished_test_description.md",
          "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md",
          "test-end-to-end/test-descriptions/004_011_group_users_multiple_assignment_submission_allowed_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/test-descriptions/004_010_peer_marking_for_individual_assignment_test_description.md",
          "test-end-to-end/test-descriptions/004_008_group_users_single_assignment_submission_allowed_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/004_004_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/test-descriptions/005_004_users_can_add_external_links_as_post_on_discussion_board_test_description.md",
          "test-end-to-end/README.md",
          "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/007_010_user_registration_phone_field_verification_test_description.md",
          "test-end-to-end/test-descriptions/005_002_users_can_add_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/004_004_multiple_submission_possible_for_student_test_description.md",
          "test-end-to-end/test-descriptions/004_004_assignment_after_deadline_and_before_grace_period_test_description.md",
          "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml",
          "test-end-to-end/test-descriptions/007_004_user_registration_dob_field_is_mandatory_test_description.md",
          "test-end-to-end/test-descriptions/004_014_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js",
          "test-end-to-end/test-descriptions/004_012_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/005_002_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/test-descriptions/004_002_users_add_assignment_course_and_private_comments_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_003_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/test-descriptions/007_003_users_under_13_can_register_using_parental_approval_link_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_admin_grant_permissions_test.yaml",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js",
          "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/005_003_users_can_add_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/004_005_assignment_after_deadline_and_before_grace_period_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/003_008_content_blocks_title_should_not_be_blank.cy.js",
          "test-end-to-end/test-descriptions/004_011_peer_marking_for_group_assignment_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/test-descriptions/005_004_user_add_internal_links_to_post_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_group_users_add_assignment_and_course_comments.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js",
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_members_and_set_course_banner_test_description.md",
          "test-end-to-end/test-descriptions/007_008_user_registration_mandatory_fields_test_description.md",
          "test-end-to-end/test-descriptions/004_007_group_users_add_assignment_course_and_private_comments_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_multiple_assignment_submission_allowed.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/test-descriptions/007_002_user_registration_above_age_13_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_007_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_004_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_all_user_add_post_and_reply.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js",
          "test-end-to-end/test-descriptions/005_005_users_can_delete_post_on_discussion_board_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js",
          "test-end-to-end/test-descriptions/004_004_assignment_grace_period_finished_test_description.md",
          "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_test_description.md",
          "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md",
          "test-end-to-end/test-descriptions/007_004_username_validation_and_add_profile_pic_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/004_003_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_test_description.md",
          "test-end-to-end/test-descriptions/005_005_users_can_add_external_links_as_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/005_003_user_add_internal_links_to_post_test_description.md",
          "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_005_004_user_add_internal_links_to_post.cy.js",
          "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/test-descriptions/004_013_teacher_or_admin_enable_or_disable_file_submission_test_description.md",
          "test-end-to-end/test-descriptions/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md",
          "test-end-to-end/test-descriptions/002_004_teacher_or_admin_can remove_people_from_a_course_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_and_private_comments.yaml"
        ],
        "commitId" : "fa41c2ee9f235731e4fb150193e43ffc99c0659d",
        "timestamp" : 1738764996000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Rename and update test descriptions\u000a",
        "date" : "2025-02-05 18:16:36 +0400",
        "id" : "fa41c2ee9f235731e4fb150193e43ffc99c0659d",
        "msg" : "Rename and update test descriptions",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_012_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_003_users_under_13_can_register_using_parental_approval_link_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_004_teacher_or_admin_can remove_people_from_a_course_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_005_user_add_external_links_to_post.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_004_004_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_013_teacher_or_admin_enable_or_disable_file_submission_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_007_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_004_assignment_after_deadline_and_before_grace_period_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_assignment_course_and_private_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_006_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_grace_period_finished.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_009_user_registration_email_field_verification_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_014_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_004_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_005_admin_grant_permissions_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_008_group_users_add_assignment_and_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_010_username_validation_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_005_003_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/005_005_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_010_user_registration_phone_field_verification_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/005_003_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_005_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/003_008_content_blocks_title_should_not_be_blank.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_011_group_users_multiple_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_008_group_users_single_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_003_all_user_add_post_and_reply.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_011_peer_marking_for_group_assignment_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_015_teacher_or_admin_enable_or_disable_file_submission_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_assignment_grace_period_finished.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_003_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_004_multiple_submission_possible_for_student_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/005_002_users_can_add_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_008_user_registration_mandatory_fields_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_group_users_single_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_010_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/005_004_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_multiple_submission_possible_for_student.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_013_peer_marking_for_group_assignment.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_004_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/007_004_username_validation_and_add_profile_pic_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_005_assignment_after_deadline_and_before_grace_period_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_004_user_registration_dob_field_is_mandatory_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_005_004_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_and_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_all_user_add_post_and_reply.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_010_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_members_and_set_course_banner_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_008_group_users_single_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/005_004_users_can_add_external_links_as_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_003_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/005_005_users_can_add_external_links_as_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_002_user_registration_above_age_13_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_003_multiple_submission_possible_for_student_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_009_group_users_multiple_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_007_group_users_add_assignment_course_and_private_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/005_003_users_can_add_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/test-descriptions/004_004_assignment_grace_period_finished_test_description.md",
          "test-end-to-end/test-descriptions/004_005_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/README.md",
          "test-end-to-end/test-descriptions/004_005_assignment_grace_period_finished_test_description.md"
        ],
        "commitId" : "424d078a660d81e22b03a141476c216272a4cfed",
        "timestamp" : 1738765492000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "update test descriptions\u000a",
        "date" : "2025-02-05 18:24:52 +0400",
        "id" : "424d078a660d81e22b03a141476c216272a4cfed",
        "msg" : "update test descriptions",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_005_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_004_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_005_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "app-ktor-server/src/main/resources/application.conf",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/mockemailsender/TestEmailRoute.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/mockemailsender/MockSendEmailUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/mockemailsender/MockEmailSender.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCaseImpl.kt"
        ],
        "commitId" : "22caeae503c3607d6dc0bbc335097449c723103d",
        "timestamp" : 1738828341000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "SendEmailUseCase refracted as interface and implemented real and mock email sender\u000a",
        "date" : "2025-02-06 13:22:21 +0530",
        "id" : "22caeae503c3607d6dc0bbc335097449c723103d",
        "msg" : "SendEmailUseCase refracted as interface and implemented real and mock email sender",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/mockemailsender/MockEmailSender.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/mockemailsender/TestEmailRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/mockemailsender/MockSendEmailUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/test-descriptions/003_008_course_blocks_title_field_is_mandatory_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md",
          "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/003_008_content_blocks_title_should_not_be_blank.cy.js",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md",
          "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
        ],
        "commitId" : "3736862d9dd485ccd21896fafc9f98eae3a315f0",
        "timestamp" : 1738847292000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in maestro and cypress- 3.2,4.1,5.1\u000a",
        "date" : "2025-02-06 17:08:12 +0400",
        "id" : "3736862d9dd485ccd21896fafc9f98eae3a315f0",
        "msg" : "changes in maestro and cypress- 3.2,4.1,5.1",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/003_008_course_blocks_title_field_is_mandatory_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/003_008_content_blocks_title_should_not_be_blank.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/README.md"
        ],
        "commitId" : "41bb8b6ddc762e5fad41c8704fddd4d1ad7fcc2b",
        "timestamp" : 1738847346000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "modify README.md\u000a",
        "date" : "2025-02-06 17:09:06 +0400",
        "id" : "41bb8b6ddc762e5fad41c8704fddd4d1ad7fcc2b",
        "msg" : "modify README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "3bdc88a7f2fc4c117efa00feb62e2872a0ec1d8c",
        "timestamp" : 1738849054000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress updated 001_010\u000a",
        "date" : "2025-02-06 17:37:34 +0400",
        "id" : "3bdc88a7f2fc4c117efa00feb62e2872a0ec1d8c",
        "msg" : "cypress updated 001_010",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_003_multiple_submission_possible_for_student.yaml"
        ],
        "commitId" : "5cd2f1fd354f097f1676720a3e4596ea025f8fb9",
        "timestamp" : 1738861387000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Fix for 4.3 maestro test\u000a",
        "date" : "2025-02-06 21:03:07 +0400",
        "id" : "5cd2f1fd354f097f1676720a3e4596ea025f8fb9",
        "msg" : "Fix for 4.3 maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_003_multiple_submission_possible_for_student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
        ],
        "commitId" : "d6663a122d6edbd7b7d05e766e8ae20cc18ac91c",
        "timestamp" : 1738925517000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Duplication problem in ContentEntryDetailAttemptsStatementList.\u000a",
        "date" : "2025-02-07 16:21:57 +0530",
        "id" : "d6663a122d6edbd7b7d05e766e8ae20cc18ac91c",
        "msg" : "Duplication problem in ContentEntryDetailAttemptsStatementList.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UsernameFilterClientMigration.kt"
        ],
        "commitId" : "661f0f68964c28030d2f7f5cf950310bec0453b2",
        "timestamp" : 1738928716000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added ClientMigration to commonMain, updated UstadApp, UstadScreen, DesktopDIModule, and fixed query break.\u000a",
        "date" : "2025-02-07 17:15:16 +0530",
        "id" : "661f0f68964c28030d2f7f5cf950310bec0453b2",
        "msg" : "Added ClientMigration to commonMain, updated UstadApp, UstadScreen, DesktopDIModule, and fixed query break.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UsernameFilterClientMigration.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadScreens.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
        ],
        "commitId" : "54f7462e441d1be11d3ba483af552d6ed73a1b60",
        "timestamp" : 1738931360000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Updated code of ContentEntryDetailAttemptsPersonList and ContentEntryDetailAttemptsSessionList (this commit not contain ContentEntryDetailAttemptsStatementList )\u000a",
        "date" : "2025-02-07 17:59:20 +0530",
        "id" : "54f7462e441d1be11d3ba483af552d6ed73a1b60",
        "msg" : "Updated code of ContentEntryDetailAttemptsPersonList and ContentEntryDetailAttemptsSessionList (this commit not contain ContentEntryDetailAttemptsStatementList )",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/wrapper/gradle-wrapper.properties",
          "build.gradle"
        ],
        "commitId" : "cf2ce0ee186bc2b5727af2d81230897b8f331a91",
        "timestamp" : 1739184950000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle plugin to 8.8.0 and Gradle to 8.10.2.\u000a",
        "date" : "2025-02-10 14:55:50 +0400",
        "id" : "cf2ce0ee186bc2b5727af2d81230897b8f331a91",
        "msg" : "Update Android Gradle plugin to 8.8.0 and Gradle to 8.10.2.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreenPreview.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/registerageredirect/RegisterAgeRedirectViewModel.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/EnrollToCourseFromInviteCodeUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
        ],
        "commitId" : "c009405f43bfe4ac6466210607e0137de8dc83e4",
        "timestamp" : 1739199646000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "e sign-up view model to handle NEXT argument similarly to Login view model\u000a",
        "date" : "2025-02-10 20:30:46 +0530",
        "id" : "c009405f43bfe4ac6466210607e0137de8dc83e4",
        "msg" : "e sign-up view model to handle NEXT argument similarly to Login view model",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/registerageredirect/RegisterAgeRedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/EnrollToCourseFromInviteCodeUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "b311b3c2673db65d6d6e22390978877454f9fe45",
        "timestamp" : 1739245745000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Added PersonList with name search and dynamic sort options\u000a- Added SessionList with sort by time/score/completion\u000a- Added StatementList with verb filtering and search\u000a",
        "date" : "2025-02-11 09:19:05 +0530",
        "id" : "b311b3c2673db65d6d6e22390978877454f9fe45",
        "msg" : "- Added PersonList with name search and dynamic sort options",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package-lock.json"
        ],
        "commitId" : "fddb69f5eeb4f68e3ae055c412489c3798bbc5e3",
        "timestamp" : 1739259100000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "version updates\u000a",
        "date" : "2025-02-11 11:31:40 +0400",
        "id" : "fddb69f5eeb4f68e3ae055c412489c3798bbc5e3",
        "msg" : "version updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/resources/application.conf"
        ],
        "commitId" : "d233a0800e92616b97102a1068dfb7898cfa16a7",
        "timestamp" : 1739340844000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "useMockEmail set false in appconfig\u000a",
        "date" : "2025-02-12 11:44:04 +0530",
        "id" : "d233a0800e92616b97102a1068dfb7898cfa16a7",
        "msg" : "useMockEmail set false in appconfig",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "b9759f33957d4257daebfaf98759620d9ef33b20",
        "timestamp" : 1739374465000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update testserver-controller after primary merge to create learning space as required on dev-simplified-onboarding.\u000a",
        "date" : "2025-02-12 19:34:25 +0400",
        "id" : "b9759f33957d4257daebfaf98759620d9ef33b20",
        "msg" : "Update testserver-controller after primary merge to create learning space as required on dev-simplified-onboarding.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/manageserver/ManageServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "b06fd27eefa57bef146f8057364d4bf3a7893232",
        "timestamp" : 1739375221000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix testserver-controller cypress run: disable jsDevServer when starting server.\u000a",
        "date" : "2025-02-12 19:47:01 +0400",
        "id" : "b06fd27eefa57bef146f8057364d4bf3a7893232",
        "msg" : "Fix testserver-controller cypress run: disable jsDevServer when starting server.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package.json",
          "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/package-lock.json"
        ],
        "commitId" : "1a556e6729c0ff92c5f2df6d354a319b246e3734",
        "timestamp" : 1739380359000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress test for attempts\u000a",
        "date" : "2025-02-12 21:12:39 +0400",
        "id" : "1a556e6729c0ff92c5f2df6d354a319b246e3734",
        "msg" : "Cypress test for attempts",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/Failed tests/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "b9671d270f09c75157d3b9aecec348c45ad8c8f1",
        "timestamp" : 1739426312000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Fix for Cypress test\u000a",
        "date" : "2025-02-13 09:58:32 +0400",
        "id" : "b9671d270f09c75157d3b9aecec348c45ad8c8f1",
        "msg" : "Fix for Cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "f485aff74cbaeff994a402a5ed7f0d2e2751dec3",
        "timestamp" : 1739429536000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Fix and test description for Cypress test\u000a",
        "date" : "2025-02-13 10:52:16 +0400",
        "id" : "f485aff74cbaeff994a402a5ed7f0d2e2751dec3",
        "msg" : "Fix and test description for Cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "7061e7b68521f8826dd901808caff93adf3daa83",
        "timestamp" : 1739432207000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed Dynamic Filter chips for each unique verb.\u000a",
        "date" : "2025-02-13 13:06:47 +0530",
        "id" : "7061e7b68521f8826dd901808caff93adf3daa83",
        "msg" : "Fixed Dynamic Filter chips for each unique verb.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "a6112a2be5f9b72def6c4a9807d2a6b367e33c1b",
        "timestamp" : 1739432575000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Fix and test description for Cypress test\u000a",
        "date" : "2025-02-13 11:42:55 +0400",
        "id" : "a6112a2be5f9b72def6c4a9807d2a6b367e33c1b",
        "msg" : "Fix and test description for Cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "47f991ff6c7a2203e6bca5f442e9cc64502ad71d",
        "timestamp" : 1739452544000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Fix and Filter test added- maestro\u000a",
        "date" : "2025-02-13 17:15:44 +0400",
        "id" : "47f991ff6c7a2203e6bca5f442e9cc64502ad71d",
        "msg" : "Fix and Filter test added- maestro",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_010_content_attempt_list_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "6031e7a1a2cf205d987bec756a27e3f12e211ade",
        "timestamp" : 1739527236000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle plugin to 8.8.1.\u000a",
        "date" : "2025-02-14 14:00:36 +0400",
        "id" : "6031e7a1a2cf205d987bec756a27e3f12e211ade",
        "msg" : "Update Android Gradle plugin to 8.8.1.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/select_site.yaml"
        ],
        "commitId" : "2ca0e94bce1f6e8bee779fde7842028f2e0f3bc2",
        "timestamp" : 1739544763000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "added condition to skip keyboard issue\u000a",
        "date" : "2025-02-14 18:52:43 +0400",
        "id" : "2ca0e94bce1f6e8bee779fde7842028f2e0f3bc2",
        "msg" : "added condition to skip keyboard issue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/select_site.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_learning_space_existing_userflow.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/login_download_and_open_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_010_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_003_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/005_003_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_learning_space_new_userflow.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_005_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/enable_user_registration.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_002b_user_registration_above_age_13_join_learning_space_username_password.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_011_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_007_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/new-student-registration-details.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_004_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_get_started.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_personal_account_new_user_flow.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_and_private_comments.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.cy.js"
        ],
        "commitId" : "f0446e14eec3036c3442af548c8848846bce83b7",
        "timestamp" : 1739548077000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro and cypress updates\u000a",
        "date" : "2025-02-14 19:47:57 +0400",
        "id" : "f0446e14eec3036c3442af548c8848846bce83b7",
        "msg" : "maestro and cypress updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_delete_and_restore_content_001.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_004_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_006_admin_enable_or_disable_guest_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_002_users_add_course_and_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_003_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_002b_user_registration_above_age_13_join_learning_space_username_password.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002_user_registration_above_age_13.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_010_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_get_started.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_learning_space_existing_userflow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/new-student-registration-details.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_personal_account_new_user_flow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_state_and_learning_space_new_userflow.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/login_download_and_open_content.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/enable_user_registration.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_007_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/005_003_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_user_registration_above_age_13_join_learning_space_mandatoryfields_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_003_admin_can_permanently_delete_the_content_002.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_008_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_assignment_after_deadline_and_before_grace_Period.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
        ],
        "commitId" : "88bb8cde22a3a3704b3fe93722a361cc3fe48015",
        "timestamp" : 1739591029000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test fix\u000a",
        "date" : "2025-02-15 07:43:49 +0400",
        "id" : "88bb8cde22a3a3704b3fe93722a361cc3fe48015",
        "msg" : "maestro test fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package-lock.json",
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "aa5531763441f1719d48193d32d2a30b1372d36c",
        "timestamp" : 1739688896000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Added `VERB_EXPERIENCED_URL` to `VerbEntity` for tracking experience events.\u000a- Added `findByVerbUrl` method to `VerbDao` to search verbs by URL.\u000a- Updated `NUMBER_OF_STUDENTS_COMPLETED_CONTENT` and `PERCENT_OF_STUDENTS_COMPLETED_CONTENT` in `ReportSeriesExt` to use `VERB_COMPLETED_URL` for more accurate reporting.\u000a- Update `ContentEntryDetailAttemptsSessionListScreen` for new status `Incomplete` and `Complete`.\u000a- Remove `VERB_COMPLETED_UID`, `VERB_PASSED_UID` and `VERB_FAILED_UID` they are no longer needed.\u000a",
        "date" : "2025-02-16 12:24:56 +0530",
        "id" : "aa5531763441f1719d48193d32d2a30b1372d36c",
        "msg" : "- Added `VERB_EXPERIENCED_URL` to `VerbEntity` for tracking experience events.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbDao.kt"
        ],
        "commitId" : "fc0a2c06b186c0289971729c19b209a8106800e8",
        "timestamp" : 1739688911000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Added `VERB_EXPERIENCED_URL` to `VerbEntity` for tracking experience events.\u000a- Added `findByVerbUrl` method to `VerbDao` to search verbs by URL.\u000a- Updated `NUMBER_OF_STUDENTS_COMPLETED_CONTENT` and `PERCENT_OF_STUDENTS_COMPLETED_CONTENT` in `ReportSeriesExt` to use `VERB_COMPLETED_URL` for more accurate reporting.\u000a- Update `ContentEntryDetailAttemptsSessionListScreen` for new status `Incomplete` and `Complete`.\u000a- Remove `VERB_COMPLETED_UID`, `VERB_PASSED_UID` and `VERB_FAILED_UID` they are no longer needed.\u000a",
        "date" : "2025-02-16 12:25:11 +0530",
        "id" : "fc0a2c06b186c0289971729c19b209a8106800e8",
        "msg" : "- Added `VERB_EXPERIENCED_URL` to `VerbEntity` for tracking experience events.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "b1ad29a4ea4ff46eaa50813f4f8233ad2e98c9b8",
        "timestamp" : 1739774286000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Added `VERB_EXPERIENCED_URL` to `VerbEntity` for tracking experience events.\u000a- Added `findByVerbUrl` method to `VerbDao` to search verbs by URL.\u000a- Updated `NUMBER_OF_STUDENTS_COMPLETED_CONTENT` and `PERCENT_OF_STUDENTS_COMPLETED_CONTENT` in `ReportSeriesExt` to use `VERB_COMPLETED_URL` for more accurate reporting.\u000a- Update `ContentEntryDetailAttemptsSessionListScreen` for new status `Incomplete` and `Complete`.\u000a- Remove `VERB_COMPLETED_UID`, `VERB_PASSED_UID` and `VERB_FAILED_UID` they are no longer needed\u000a",
        "date" : "2025-02-17 12:08:06 +0530",
        "id" : "b1ad29a4ea4ff46eaa50813f4f8233ad2e98c9b8",
        "msg" : "- Added `VERB_EXPERIENCED_URL` to `VerbEntity` for tracking experience events.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "e5f7709c56d3e2ad3594e3bf27671e60db27c601",
        "timestamp" : 1739776900000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Changed the SQL query in `getUniqueVerbsForSession` to retrieve distinct verbs using `GROUP BY` and to use `StatementEntity.*` and `VerbEntity.*` for clarity.\u000a",
        "date" : "2025-02-17 12:51:40 +0530",
        "id" : "e5f7709c56d3e2ad3594e3bf27671e60db27c601",
        "msg" : "- Changed the SQL query in `getUniqueVerbsForSession` to retrieve distinct verbs using `GROUP BY` and to use `StatementEntity.*` and `VerbEntity.*` for clarity.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FormattedHost.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt"
        ],
        "commitId" : "755615d33e92a706e2c6f2210937a5c72e750936",
        "timestamp" : 1739791944000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "passkey signin added in AddAccountSelectNewOrExisting\u000a",
        "date" : "2025-02-17 17:02:24 +0530",
        "id" : "755615d33e92a706e2c6f2210937a5c72e750936",
        "msg" : "passkey signin added in AddAccountSelectNewOrExisting",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FormattedHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/005_005_users_can_delete_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/004_004_assignment_after_deadline_and_before_grace_period_test_description.md",
          "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md",
          "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md",
          "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md",
          "test-end-to-end/test-descriptions/004_012_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/001_006_admin_can_cancel_content_download_test_description.md",
          "test-end-to-end/test-descriptions/001_005_content_download_will_stop_when_wifi_stop_then_resume_when_WiFi_is_resumed _test_description.md",
          "test-end-to-end/test-descriptions/004_005_assignment_grace_period_finished_test_description.md",
          "test-end-to-end/test-descriptions/004_002_users_add_assignment_course_and_private_comments_test_description.md",
          "test-end-to-end/test-descriptions/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md",
          "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md",
          "test-end-to-end/test-descriptions/005_003_user_add_internal_links_to_post_test_description.md",
          "test-end-to-end/test-descriptions/004_003_multiple_submission_possible_for_student_test_description.md",
          "test-end-to-end/test-descriptions/004_011_peer_marking_for_group_assignment_test_description.md",
          "test-end-to-end/test-descriptions/007_004_user_registration_mandatory_fields_test_description.md",
          "test-end-to-end/test-descriptions/004_010_peer_marking_for_individual_assignment_test_description.md",
          "test-end-to-end/test-descriptions/001_007_h5p_and_video_content_compression_test_description.md",
          "test-end-to-end/test-descriptions/004_008_group_users_single_assignment_submission_allowed_test_description.md",
          "test-end-to-end/test-descriptions/001_003_admin_can_delete_and_restore_content_001_test_description.md",
          "test-end-to-end/test-descriptions/005_004_users_can_add_external_links_as_post_on_discussion_board_test_description.md",
          "test-end-to-end/test-descriptions/001_008_deleting_content_will_remove_the_files_associated_with_the_content_from_the_serve _test_description.md",
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_members_and_set_course_banner_test_description.md",
          "test-end-to-end/test-descriptions/001_003_admin_can_permanently_delete_the_content_002_test_description.md",
          "test-end-to-end/test-descriptions/004_009_group_users_multiple_assignment_submission_allowed_test_description.md",
          "test-end-to-end/test-descriptions/001_002_admin_add_invalid_content_gets_error_message_test_description.md",
          "test-end-to-end/test-descriptions/004_007_group_users_add_assignment_course_and_private_comments_test_description.md",
          "test-end-to-end/test-descriptions/007_002_user_registration_above_age_13_test_description.md",
          "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md",
          "test-end-to-end/test-descriptions/001_004_admin_can_move_content_test_description.md",
          "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md",
          "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md",
          "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md",
          "test-end-to-end/test-descriptions/001_009_user_can_store_offline_content_on_device_storage_or_memory_card_test_description.md",
          "test-end-to-end/test-descriptions/004_013_teacher_or_admin_enable_or_disable_file_submission_test_description.md",
          "test-end-to-end/test-descriptions/002_002_student_joining_course_using_code_test_description.md",
          "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md",
          "test-end-to-end/test-descriptions/005_002_users_can_add_post_on_discussion_board_test_description.md"
        ],
        "commitId" : "e09a91e72d2417b9ba030ab4870d01d41f66b568",
        "timestamp" : 1739794672000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test descriptions\u000a",
        "date" : "2025-02-17 16:17:52 +0400",
        "id" : "e09a91e72d2417b9ba030ab4870d01d41f66b568",
        "msg" : "test descriptions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_007_group_users_add_assignment_course_and_private_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_010_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_006_admin_can_cancel_content_download_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_004_users_can_add_external_links_as_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_members_and_set_course_banner_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_assignment_course_and_private_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_003_multiple_submission_possible_for_student_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_003_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_003_teacher_record_attendance_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_009_user_can_store_offline_content_on_device_storage_or_memory_card_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_005_content_download_will_stop_when_wifi_stop_then_resume_when_WiFi_is_resumed _test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_001_add_or_edit_course_permission_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_005_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_004_admin_can_move_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_003_admin_can_permanently_delete_the_content_002_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_011_peer_marking_for_group_assignment_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_003_admin_can_delete_and_restore_content_001_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_002_users_can_add_post_on_discussion_board_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_002_user_registration_above_age_13_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_009_group_users_multiple_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_002_admin_add_invalid_content_gets_error_message_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_007_h5p_and_video_content_compression_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_008_deleting_content_will_remove_the_files_associated_with_the_content_from_the_serve _test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/002_002_student_joining_course_using_code_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_005_assignment_grace_period_finished_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_004_assignment_after_deadline_and_before_grace_period_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_013_teacher_or_admin_enable_or_disable_file_submission_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_008_group_users_single_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_012_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_004_user_registration_mandatory_fields_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/README.md"
        ],
        "commitId" : "5d0f169dabc8257442cbfca1dab5f45198c219ba",
        "timestamp" : 1739794970000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test descriptions\u000a",
        "date" : "2025-02-17 16:22:50 +0400",
        "id" : "5d0f169dabc8257442cbfca1dab5f45198c219ba",
        "msg" : "test descriptions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "0a200a34d9af28e74176bce1994707dd65e901f6",
        "timestamp" : 1739796570000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Modified the `getUniqueVerbsForSession` query to retrieve the `verbUid` directly from the `StatementEntity` for better accuracy and removed unnecessary grouping by `VerbEntity.verbUid`.\u000a",
        "date" : "2025-02-17 18:19:30 +0530",
        "id" : "0a200a34d9af28e74176bce1994707dd65e901f6",
        "msg" : "- Modified the `getUniqueVerbsForSession` query to retrieve the `verbUid` directly from the `StatementEntity` for better accuracy and removed unnecessary grouping by `VerbEntity.verbUid`.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "cbd69893ef4215e1d9d4685418f4bf39ff5313e1",
        "timestamp" : 1739887915000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed Hook Issue.\u000a",
        "date" : "2025-02-18 19:41:55 +0530",
        "id" : "cbd69893ef4215e1d9d4685418f4bf39ff5313e1",
        "msg" : "Fixed Hook Issue.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "0dcf880763dc5626988960f277bb986e7510a94c",
        "timestamp" : 1739958172000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : " Added accountPersonUid and selectedPersonUid to findStatementsBySession & findSessionsByPersonAndContent for permission handling and data filtering. Updated StatementDao, ViewModels, and UI calls accordingly.\u000a",
        "date" : "2025-02-19 15:12:52 +0530",
        "id" : "0dcf880763dc5626988960f277bb986e7510a94c",
        "msg" : "Added accountPersonUid and selectedPersonUid to findStatementsBySession & findSessionsByPersonAndContent for permission handling and data filtering. Updated StatementDao, ViewModels, and UI calls accordingly.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "cfc3fc23b2b32eaf0ee4eeb0e1db9b04511d5216",
        "timestamp" : 1739958678000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : " Added accountPersonUid and selectedPersonUid to findStatementsBySession & findSessionsByPersonAndContent for permission handling and data filtering. Updated StatementDao, ViewModels, and UI calls accordingly.\u000a",
        "date" : "2025-02-19 15:21:18 +0530",
        "id" : "cfc3fc23b2b32eaf0ee4eeb0e1db9b04511d5216",
        "msg" : "Added accountPersonUid and selectedPersonUid to findStatementsBySession & findSessionsByPersonAndContent for permission handling and data filtering. Updated StatementDao, ViewModels, and UI calls accordingly.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
        ],
        "commitId" : "e03f8bfe4e681bb2eb534d3dad5c5c0fe016eb86",
        "timestamp" : 1739963163000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress tests- filters added\u000a",
        "date" : "2025-02-19 15:06:03 +0400",
        "id" : "e03f8bfe4e681bb2eb534d3dad5c5c0fe016eb86",
        "msg" : "cypress tests- filters added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "94b0bfe098d1b2e932812adea48c9bb60dc07e78",
        "timestamp" : 1739964717000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added user check for own data and updated `SessionTimeAndProgressInfo` with `totalDuration` and `verbIds`.\u000a",
        "date" : "2025-02-19 17:01:57 +0530",
        "id" : "94b0bfe098d1b2e932812adea48c9bb60dc07e78",
        "msg" : "Added user check for own data and updated `SessionTimeAndProgressInfo` with `totalDuration` and `verbIds`.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "a8f0ccf0aa4d9822ede270d6232eeaea4767bf50",
        "timestamp" : 1739965165000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Add id to chip component.\u000a",
        "date" : "2025-02-19 17:09:25 +0530",
        "id" : "a8f0ccf0aa4d9822ede270d6232eeaea4767bf50",
        "msg" : "Add id to chip component.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "d662857b7c20fdfa429f63b545b7d4a52bc859f0",
        "timestamp" : 1739967960000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress tests- filter chips ids\u000a",
        "date" : "2025-02-19 16:26:00 +0400",
        "id" : "d662857b7c20fdfa429f63b545b7d4a52bc859f0",
        "msg" : "cypress tests- filter chips ids",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "dbf22fbfc6b56ac3e3556ac9d3f52443ec5e322b",
        "timestamp" : 1740021981000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Updated the `getUniqueVerbsForSession` query to filter verbs based on the `selectedPersonUid` and modified it to filter out statements with no progress or time information.\u000a- Modified the statement listing query to filter out duplicate completion entries and entries with no duration.\u000a- Added id to verb buttons.\u000a",
        "date" : "2025-02-20 08:56:21 +0530",
        "id" : "dbf22fbfc6b56ac3e3556ac9d3f52443ec5e322b",
        "msg" : "- Updated the `getUniqueVerbsForSession` query to filter verbs based on the `selectedPersonUid` and modified it to filter out statements with no progress or time information.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "313b0de04209154f5c422ca947a66818617e5946",
        "timestamp" : 1740034367000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "fixed cypress test\u000a",
        "date" : "2025-02-20 10:52:47 +0400",
        "id" : "313b0de04209154f5c422ca947a66818617e5946",
        "msg" : "fixed cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
        ],
        "commitId" : "cc340f44b809ca11f4e2db33cacc0d2be56a856f",
        "timestamp" : 1740037199000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "fixed cypress test\u000a",
        "date" : "2025-02-20 11:39:59 +0400",
        "id" : "cc340f44b809ca11f4e2db33cacc0d2be56a856f",
        "msg" : "fixed cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
        ],
        "commitId" : "e282a8421dea4dd3ac064c7429d924bffb1ad81c",
        "timestamp" : 1740116597000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test- added attempt - 001_001 and 003_005\u000a",
        "date" : "2025-02-21 09:43:17 +0400",
        "id" : "e282a8421dea4dd3ac064c7429d924bffb1ad81c",
        "msg" : "cypress test- added attempt - 001_001 and 003_005",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "b1a01e6bde09bcbc456d3ad99ec5beadba0fb974",
        "timestamp" : 1740116639000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed UI & incorrect progress display in session list.\u000a",
        "date" : "2025-02-21 11:13:59 +0530",
        "id" : "b1a01e6bde09bcbc456d3ad99ec5beadba0fb974",
        "msg" : "Fixed UI & incorrect progress display in session list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "1c48b2fac79270cfb5b5252038952483bfb6a718",
        "timestamp" : 1740120030000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed UI & incorrect progress display in session list.\u000a",
        "date" : "2025-02-21 12:10:30 +0530",
        "id" : "1c48b2fac79270cfb5b5252038952483bfb6a718",
        "msg" : "Fixed UI & incorrect progress display in session list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "92b6f3cc7a274e26a26771cc70b89e2472f5b8df",
        "timestamp" : 1740381231000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Filter chips check icon missing (Added)\u000a",
        "date" : "2025-02-24 12:43:51 +0530",
        "id" : "92b6f3cc7a274e26a26771cc70b89e2472f5b8df",
        "msg" : "Filter chips check icon missing (Added)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "5c8cde804fc14f723ee446934b404308c35d79eb",
        "timestamp" : 1740392882000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "app bar title of screen 1\u000a",
        "date" : "2025-02-24 15:58:02 +0530",
        "id" : "5c8cde804fc14f723ee446934b404308c35d79eb",
        "msg" : "app bar title of screen 1",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "4129a831feb908ec434e4f630732b9aa880d23c7",
        "timestamp" : 1740393199000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "-Added content title in ContentEntryDetailAttemptsStatementList.\u000a-Show tick icon on \"Answered\" filter only when selected.\u000a-By Default all filter chips are selected.\u000a",
        "date" : "2025-02-24 16:03:19 +0530",
        "id" : "4129a831feb908ec434e4f630732b9aa880d23c7",
        "msg" : "-Added content title in ContentEntryDetailAttemptsStatementList.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
        ],
        "commitId" : "c169b3991f38d7cc76083ba78716b5d689fd25f3",
        "timestamp" : 1740396443000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "app bar title of screen 1 and screen 2\u000a",
        "date" : "2025-02-24 16:57:23 +0530",
        "id" : "c169b3991f38d7cc76083ba78716b5d689fd25f3",
        "msg" : "app bar title of screen 1 and screen 2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "4b957fca6d66c74f4f4a1acd6c843042a05ae6b8",
        "timestamp" : 1740402402000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "score & completion % done\u000a",
        "date" : "2025-02-24 18:36:42 +0530",
        "id" : "4b957fca6d66c74f4f4a1acd6c843042a05ae6b8",
        "msg" : "score & completion % done",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "c37a3ccdcace4eed9024b0cf1febd666680a770a",
        "timestamp" : 1740455504000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Removed \"By\" from sort option strings.xml & Added Most Recent & Least Recent in ContentEntryDetailAttemptsSessionList instead of Timestamp.\u000a",
        "date" : "2025-02-25 09:21:44 +0530",
        "id" : "c37a3ccdcace4eed9024b0cf1febd666680a770a",
        "msg" : "Removed \"By\" from sort option strings.xml & Added Most Recent & Least Recent in ContentEntryDetailAttemptsSessionList instead of Timestamp.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "40ed0bdcc0fc18c1fecd92ce45eff3591618cdac",
        "timestamp" : 1740472572000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a\u000aUpdate coding-style guidance on use of dates/times.\u000a",
        "date" : "2025-02-25 12:36:12 +0400",
        "id" : "40ed0bdcc0fc18c1fecd92ce45eff3591618cdac",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/SortOrderOption.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/composable/UstadListSortHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadListSortHeader.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/LanguageListFragment.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/SortOrderOptionExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/SortOrderOptionExt.kt"
        ],
        "commitId" : "ab441302d044e5da433e504f92fc5269becd87e2",
        "timestamp" : 1740475761000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Make SortOrderOption.order nullable. Some order options already imply ascending or descending order (e.g. most recent, least recent, etc).\u000a\u000aWhere SortOrderOption.order = null, then no (Ascending) or (Descending) text will be added by sort option bottom sheets/dropdowns etc.\u000a",
        "date" : "2025-02-25 13:29:21 +0400",
        "id" : "ab441302d044e5da433e504f92fc5269becd87e2",
        "msg" : "Make SortOrderOption.order nullable. Some order options already imply ascending or descending order (e.g. most recent, least recent, etc).",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/composable/UstadListSortHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/SortOrderOption.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/SortOrderOptionExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/LanguageListFragment.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/SortOrderOptionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadListSortHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "489fa03fab0175f686ab6fca4d57ce5237be0387",
        "timestamp" : 1740475871000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "result furation\u000a",
        "date" : "2025-02-25 15:01:11 +0530",
        "id" : "489fa03fab0175f686ab6fca4d57ce5237be0387",
        "msg" : "result furation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "5e490994994a6f1227c3db8ccacefa0c9893e0cc",
        "timestamp" : 1740475943000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "ContentEntryDetailAttemptsStatementListScreen and ContentEntryDetailAttemptsSessionListScreen in both the React and Compose modules to display formatted duration/timestamps.\u000a",
        "date" : "2025-02-25 15:02:23 +0530",
        "id" : "5e490994994a6f1227c3db8ccacefa0c9893e0cc",
        "msg" : "ContentEntryDetailAttemptsStatementListScreen and ContentEntryDetailAttemptsSessionListScreen in both the React and Compose modules to display formatted duration/timestamps.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "9592cb5a718f18dcfac4420809f693d8bc139c3b",
        "timestamp" : 1740481292000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Update ContentEntryDetailAttemptsSessionListScreen: Use result duration instead of formatted duration and change timer icon to calendar icon.\u000a",
        "date" : "2025-02-25 16:31:32 +0530",
        "id" : "9592cb5a718f18dcfac4420809f693d8bc139c3b",
        "msg" : "Update ContentEntryDetailAttemptsSessionListScreen: Use result duration instead of formatted duration and change timer icon to calendar icon.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "1cbd632d10fe37ada050a6df9984f9cc1a4d6346",
        "timestamp" : 1740496749000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test- 001_001 updated\u000a",
        "date" : "2025-02-25 19:19:09 +0400",
        "id" : "1cbd632d10fe37ada050a6df9984f9cc1a4d6346",
        "msg" : "cypress test- 001_001 updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "5f6c2b72a3701d008b944d034e6f5438ef0a59fa",
        "timestamp" : 1740503094000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test- 003_003 updated\u000a",
        "date" : "2025-02-25 21:04:54 +0400",
        "id" : "5f6c2b72a3701d008b944d034e6f5438ef0a59fa",
        "msg" : "cypress test- 003_003 updated",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_010_content_attempt_list_test.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_admin_or_teacher_and_content_via_file.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "65ea3ad451030ea2a421d7535d6233020360f1a8",
        "timestamp" : 1740507006000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Remove unnecessary \"Ascending\" or \"Descending\" labels for options like \"Most Recent\" and \"Least Recent\".\u000a- Use `HighlightOffOutlined` instead of `Close` icon for failed status.\u000a- Changed  `by_timestamp` to `Time Stamp`.\u000a",
        "date" : "2025-02-25 23:40:06 +0530",
        "id" : "65ea3ad451030ea2a421d7535d6233020360f1a8",
        "msg" : "- Remove unnecessary \"Ascending\" or \"Descending\" labels for options like \"Most Recent\" and \"Least Recent\".",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "a92fde7bb13ff817615fe5e4a1aba55cf65af96b",
        "timestamp" : 1740512911000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "fixed minor bug in StatementDao\u000a",
        "date" : "2025-02-26 01:18:31 +0530",
        "id" : "a92fde7bb13ff817615fe5e4a1aba55cf65af96b",
        "msg" : "fixed minor bug in StatementDao",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "ec4de0487cea9487a8e796d2e3c1a190573efcb3",
        "timestamp" : 1740537475000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress tests\u000a",
        "date" : "2025-02-26 06:37:55 +0400",
        "id" : "ec4de0487cea9487a8e796d2e3c1a190573efcb3",
        "msg" : "cypress tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
        ],
        "commitId" : "e054548f981f861bc3de4570dbd734bc2cf63331",
        "timestamp" : 1740546133000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Emit refresh command when no verbs are selected or verbs are selected from bottomsheet. Update Add test tag to progress bar.\u000a",
        "date" : "2025-02-26 10:32:13 +0530",
        "id" : "e054548f981f861bc3de4570dbd734bc2cf63331",
        "msg" : "Emit refresh command when no verbs are selected or verbs are selected from bottomsheet. Update Add test tag to progress bar.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "39c55f975a869319dfa8a9adefb2e72a6cf40643",
        "timestamp" : 1740555607000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Add test tags to progress bars in ContentEntryDetailAttemptsStatementListScreen and ContentEntryDetailAttemptsPersonListScreen.\u000a",
        "date" : "2025-02-26 13:10:07 +0530",
        "id" : "39c55f975a869319dfa8a9adefb2e72a6cf40643",
        "msg" : "Add test tags to progress bars in ContentEntryDetailAttemptsStatementListScreen and ContentEntryDetailAttemptsPersonListScreen.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "274cf1d2d3c148cb05d2205845ae936cf546ee51",
        "timestamp" : 1740561371000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Fixed Android crash\u000a",
        "date" : "2025-02-26 14:46:11 +0530",
        "id" : "274cf1d2d3c148cb05d2205845ae936cf546ee51",
        "msg" : "Fixed Android crash",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
        ],
        "commitId" : "0abcc63921006eb5072e9f2f2414c63a201a08ba",
        "timestamp" : 1740577751000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Change selectedVerbIds type string to long list.\u000a",
        "date" : "2025-02-26 19:19:11 +0530",
        "id" : "0abcc63921006eb5072e9f2f2414c63a201a08ba",
        "msg" : "Change selectedVerbIds type string to long list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "f43223300fd89937d60eec69ba0d523a1f6c5a54",
        "timestamp" : 1740583600000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Change selectedVerbIds type string to long list.\u000a",
        "date" : "2025-02-26 20:56:40 +0530",
        "id" : "f43223300fd89937d60eec69ba0d523a1f6c5a54",
        "msg" : "Change selectedVerbIds type string to long list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "f9ab7d1ee8877d2fa900e352c6359776576d2bbb",
        "timestamp" : 1740639678000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress tests test fixes\u000a",
        "date" : "2025-02-27 11:01:18 +0400",
        "id" : "f9ab7d1ee8877d2fa900e352c6359776576d2bbb",
        "msg" : "cypress tests test fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "c83919fd3757c4e3f7f7128fdc72966a5368a268",
        "timestamp" : 1740661574000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro tests combined with attempt list\u000a",
        "date" : "2025-02-27 17:06:14 +0400",
        "id" : "c83919fd3757c4e3f7f7128fdc72966a5368a268",
        "msg" : "maestro tests combined with attempt list",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md",
          "test-end-to-end/test-descriptions/003_005_course_view_and_modules_can_expand_collapse_test_description.md",
          "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_or_from_file_as_content_block_test_description.md",
          "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/README.md",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_005_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_007_user_able_to_open_text_block.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/003_006_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_expand_and_collapse_modules.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_open_text_block.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/test-descriptions/003_006_all_user_able_to_open_text_block_test_description.md",
          "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md",
          "test-end-to-end/test-descriptions/003_005_add_new_content_block_inside_course_test_description.md",
          "test-end-to-end/test-descriptions/003_007_all_user_able_to_open_text_block_test_description.md",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_user_able_to_expand_and_collapse_modules.cy.js"
        ],
        "commitId" : "9742a549d84a3776503fab742380f6c193543890",
        "timestamp" : 1740665389000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Test descriptions changed, optimized\u000a",
        "date" : "2025-02-27 18:09:49 +0400",
        "id" : "9742a549d84a3776503fab742380f6c193543890",
        "msg" : "Test descriptions changed, optimized",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_user_able_to_expand_and_collapse_modules.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_007_user_able_to_open_text_block.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_expand_and_collapse_modules.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_or_from_file_as_content_block_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/003_005_course_view_and_modules_can_expand_collapse_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/003_007_all_user_able_to_open_text_block_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/003_006_all_user_able_to_open_text_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/003_005_add_new_content_block_inside_course_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_open_text_block.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/003_003_add_existing_content_in_library_as_block_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
        ],
        "commitId" : "10fd492a38a5bd8bb4e1690676b818c4a7f936d3",
        "timestamp" : 1740673923000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "fix test\u000a",
        "date" : "2025-02-27 20:32:03 +0400",
        "id" : "10fd492a38a5bd8bb4e1690676b818c4a7f936d3",
        "msg" : "fix test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "ec356d487421137e2b2ce78709cf5dd54b7b9b79",
        "timestamp" : 1740990758000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle plugin versions to 8.8.2.\u000a",
        "date" : "2025-03-03 12:32:38 +0400",
        "id" : "ec356d487421137e2b2ce78709cf5dd54b7b9b79",
        "msg" : "Update Android Gradle plugin versions to 8.8.2.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/wrapper/gradle-wrapper.properties",
          "build.gradle"
        ],
        "commitId" : "c18ed44d722004245860b5e39481fa206ad265ff",
        "timestamp" : 1741186213000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Gradle wrapper to version 8.11.1 and Android Gradle plugin to version 8.9.0.\u000a",
        "date" : "2025-03-05 18:50:13 +0400",
        "id" : "c18ed44d722004245860b5e39481fa206ad265ff",
        "msg" : "Update Gradle wrapper to version 8.11.1 and Android Gradle plugin to version 8.9.0.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/package.json"
        ],
        "commitId" : "2c4feaaaa9c65de614b4f21f62c134d419c0544b",
        "timestamp" : 1741188829000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update package.json to clear testserver-controller.log when running clean.\u000a",
        "date" : "2025-03-05 19:33:49 +0400",
        "id" : "2c4feaaaa9c65de614b4f21f62c134d419c0544b",
        "msg" : "Update package.json to clear testserver-controller.log when running clean.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "1deb86a3fccfecf3400d2df34268258398befc59",
        "timestamp" : 1741592997000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "wait fix test\u000a",
        "date" : "2025-03-10 11:49:57 +0400",
        "id" : "1deb86a3fccfecf3400d2df34268258398befc59",
        "msg" : "wait fix test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/InviteViaLinkScreenPreview.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/InviteViaLinkScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/ClazzInviteViaLinkScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/ReportDashboardView.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/ClazzInviteViaLinkViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/InviteViaLinkViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/InviteViaLinkScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/ClazzInviteViaLinkScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/InviteViaContactScreen.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/JoinWithCodeView.kt"
        ],
        "commitId" : "21c9d20e922d939668ace0d6e7d8c64250249c2b",
        "timestamp" : 1741596180000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactoring to ensure that newly added screens/viewmodels accurately follow naming patterns.\u000a",
        "date" : "2025-03-10 11:43:00 +0300",
        "id" : "21c9d20e922d939668ace0d6e7d8c64250249c2b",
        "msg" : "Refactoring to ensure that newly added screens/viewmodels accurately follow naming patterns.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/InviteViaLinkScreenPreview.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/ClazzInviteViaLinkScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/JoinWithCodeView.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/InviteViaLinkViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/InviteViaLinkScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/ClazzInviteViaLinkViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/ReportDashboardView.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/InviteViaLinkScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/ClazzInviteViaLinkScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/viewmodel/UstadViewModelFun.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/hidekeyboard/HideKeyboardUseCase.kt"
        ],
        "commitId" : "f7c73bddaca6bb253c8badb0457969aa09ed5b62",
        "timestamp" : 1741600280000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improve ClazzInvite handling of keyboard hiding.\u000a\u000aPrevious version used the ui state in a way that did not follow coding patterns.\u000a\u000aInvite view model needs to be able to explicitly hide the software keyboard.\u000a\u000aFix UmRestApplication to ensure data directory is created if needed.\u000a",
        "date" : "2025-03-10 12:51:20 +0300",
        "id" : "f7c73bddaca6bb253c8badb0457969aa09ed5b62",
        "msg" : "Improve ClazzInvite handling of keyboard hiding.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/hidekeyboard/HideKeyboardUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/viewmodel/UstadViewModelFun.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "e53d73a0152119e145c91ecd567c095225d3378d",
        "timestamp" : 1741601814000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "wait fix test\u000a",
        "date" : "2025-03-10 14:16:54 +0400",
        "id" : "e53d73a0152119e145c91ecd567c095225d3378d",
        "msg" : "wait fix test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
        ],
        "commitId" : "2a1140502c990b7745e9645cb68fb253d2ee9b4a",
        "timestamp" : 1741629744000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add property name to ActivityLangMapEntry.\u000a\u000aActivityLangMapEntry had a hash of property name and lang code, and the lang code, but not the property. This made it impossible to find all the lang map entries for a given property using a query.\u000a",
        "date" : "2025-03-10 21:02:24 +0300",
        "id" : "2a1140502c990b7745e9645cb68fb253d2ee9b4a",
        "msg" : "Add property name to ActivityLangMapEntry.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "466bb26c6517594253d3476ca4b2c562a4cc4aea",
        "timestamp" : 1741633457000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "StatementDao: fix queries to work with Postgres.\u000a\u000aPostgres does not allow using an expression column in the order by clause.\u000aPostgres does not allow mixing numerical and text sorting into the same order by clause.\u000a",
        "date" : "2025-03-10 22:04:17 +0300",
        "id" : "466bb26c6517594253d3476ca4b2c562a4cc4aea",
        "msg" : "StatementDao: fix queries to work with Postgres.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json"
        ],
        "commitId" : "aaa96cc37d7bfb61658c705b56eaddff1aada6ba",
        "timestamp" : 1741634361000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add ActivityEntity and ActivityLangMapEntry to findStatementsBySession return value.\u000a",
        "date" : "2025-03-10 22:19:21 +0300",
        "id" : "aaa96cc37d7bfb61658c705b56eaddff1aada6ba",
        "msg" : "Add ActivityEntity and ActivityLangMapEntry to findStatementsBySession return value.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "3d251d1bc829d5447f586d749cd9be892edc0682",
        "timestamp" : 1741668634000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "progress alignment\u000a",
        "date" : "2025-03-11 10:20:34 +0530",
        "id" : "3d251d1bc829d5447f586d749cd9be892edc0682",
        "msg" : "progress alignment",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/SortOrderOptionExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
        ],
        "commitId" : "298f0124fd41d3888772446b1a6c59371ee01f3d",
        "timestamp" : 1741669526000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "fix: Change sort options and progress bar in attempts list\u000a- Update sort options in `ContentEntryDetailAttemptsSessionListViewModel` to use `null` instead of boolean for default.\u000a- Change progress bar in `ContentEntryDetailAttemptsPersonListScreen` to use non-nullable values.\u000a- Change sort order option extension to add `)` in the end of the string.\u000a",
        "date" : "2025-03-11 10:35:26 +0530",
        "id" : "298f0124fd41d3888772446b1a6c59371ee01f3d",
        "msg" : "fix: Change sort options and progress bar in attempts list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/SortOrderOptionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "ce8833ac782f59ae3b2b031e2f432468b58b8bad",
        "timestamp" : 1741672483000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Show verb and activity names in the statement list.\u000a- Show progress only when max progress is not zero.\u000a",
        "date" : "2025-03-11 11:24:43 +0530",
        "id" : "ce8833ac782f59ae3b2b031e2f432468b58b8bad",
        "msg" : "- Show verb and activity names in the statement list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "c35fca096fb906b7051c9ae7df19729af3f23bde",
        "timestamp" : 1741675934000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Update sorting options and statement list text in ContentEntryDetailAttemptsStatementListScreen\u000a",
        "date" : "2025-03-11 12:22:14 +0530",
        "id" : "c35fca096fb906b7051c9ae7df19729af3f23bde",
        "msg" : "Update sorting options and statement list text in ContentEntryDetailAttemptsStatementListScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt"
        ],
        "commitId" : "2bd8c257dde6cd5bc62cef85ba46e7a7e82b7b66",
        "timestamp" : 1741676277000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add status custom attribute on video tag to enable Cypress tests to recognize when a video is finished.\u000a",
        "date" : "2025-03-11 09:57:57 +0300",
        "id" : "2bd8c257dde6cd5bc62cef85ba46e7a7e82b7b66",
        "msg" : "Add status custom attribute on video tag to enable Cypress tests to recognize when a video is finished.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "24f0a02b668f128056aa7a5a2c1caa6884f1b2fe",
        "timestamp" : 1741679228000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "statement dao changes\u000a",
        "date" : "2025-03-11 13:17:08 +0530",
        "id" : "24f0a02b668f128056aa7a5a2c1caa6884f1b2fe",
        "msg" : "statement dao changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "a8a9f78aba2c0771cc76d8d416472f22e89ab9d6",
        "timestamp" : 1741688340000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test\u000a",
        "date" : "2025-03-11 14:19:00 +0400",
        "id" : "a8a9f78aba2c0771cc76d8d416472f22e89ab9d6",
        "msg" : "cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
        ],
        "commitId" : "5590fbcb9af507bc40bb4e77f8f6a45bf267e5b9",
        "timestamp" : 1741688417000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update\u000a",
        "date" : "2025-03-11 15:50:17 +0530",
        "id" : "5590fbcb9af507bc40bb4e77f8f6a45bf267e5b9",
        "msg" : "Update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "7df28628b0be837efe0de67f6a8670dff132830b",
        "timestamp" : 1741694246000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test - assertion for question title added\u000a",
        "date" : "2025-03-11 15:57:26 +0400",
        "id" : "7df28628b0be837efe0de67f6a8670dff132830b",
        "msg" : "cypress test - assertion for question title added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "12736db52af6a100fe7b6b8b1fbd685181ea4041",
        "timestamp" : 1741700890000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test - assertion for question title added\u000a",
        "date" : "2025-03-11 17:48:10 +0400",
        "id" : "12736db52af6a100fe7b6b8b1fbd685181ea4041",
        "msg" : "maestro test - assertion for question title added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "8e50f78fba8f925ccd0d8ffb9c679dfbecf2280e",
        "timestamp" : 1741704208000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update\u000a",
        "date" : "2025-03-11 20:13:28 +0530",
        "id" : "8e50f78fba8f925ccd0d8ffb9c679dfbecf2280e",
        "msg" : "Update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "39ae48966b579a784b2e8d70f7213c89ad218240",
        "timestamp" : 1741713834000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test - assertion for question title added\u000a",
        "date" : "2025-03-11 21:23:54 +0400",
        "id" : "39ae48966b579a784b2e8d70f7213c89ad218240",
        "msg" : "maestro test - assertion for question title added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "17603fd6cb407b6ffe22ac412663b3c0092568e8",
        "timestamp" : 1741714403000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test\u000a",
        "date" : "2025-03-11 21:33:23 +0400",
        "id" : "17603fd6cb407b6ffe22ac412663b3c0092568e8",
        "msg" : "cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/SendClazzInvitesUseCaseSendToServerImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/SendClazzInvitesUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesUseCaseServerImpl.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesRoute.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonClientDomainModule.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/App.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "c34db32d14dfc82357a798a514eb58bf9349d296",
        "timestamp" : 1741722214000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Invitation improvements\u000a\u000a1) ClazzInviteViaContactScreen on web: fix handling of backspace. Remove redundant extra state variable. Add key on react component.\u000a2) ClazzInviteViaContactScreen on Jetpack compose: minor documentation improvements and handle chip removal using list (just in case multiple chips are removed, avoid multiple state updates from one event)\u000a3) SendInviteUseCase is an interface with an implementation for the client (which sends the request to the server) and a server implementation which actually stores the invitations in the database and sends emails etc.\u000a4) Remove CheckContactTypeUseCase - this was really duplicating the logic already contained in ParseInviteUseCase. Parse invite use case was using a string and splitting, CheckContactTypeUseCase was using a list of strings. No need to have two with essentially identical logic.\u000a5) Parse invite use case now accepts commas and semicolons as separators\u000a",
        "date" : "2025-03-11 22:43:34 +0300",
        "id" : "c34db32d14dfc82357a798a514eb58bf9349d296",
        "msg" : "Invitation improvements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonClientDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/App.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/SendClazzInvitesUseCaseSendToServerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesUseCaseServerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/SendClazzInvitesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "0c3e11481b94e27e507a1063e1c4876413fefe21",
        "timestamp" : 1741761808000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Update the statement query to include statements with progress, score, or completion; only select statement matching all other criteria.\u000a",
        "date" : "2025-03-12 12:13:28 +0530",
        "id" : "0c3e11481b94e27e507a1063e1c4876413fefe21",
        "msg" : "Update the statement query to include statements with progress, score, or completion; only select statement matching all other criteria.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/passkey/PasskeyListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonAuth2.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/manageaccount/ManageAccountScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonPasskeyDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/passkey/PasskeyListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/manageaccount/ManageAccountScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/detail/PersonDetailScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/detail/PersonDetailScreen.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/PersonIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModelTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuth2Dao.kt"
        ],
        "commitId" : "981268ddd96014f71debd18f539c531b692e3aa9",
        "timestamp" : 1741774744000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "revoke passkey added\u000a",
        "date" : "2025-03-12 15:49:04 +0530",
        "id" : "981268ddd96014f71debd18f539c531b692e3aa9",
        "msg" : "revoke passkey added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonAuth2.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonPasskeyDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/PersonIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuth2Dao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/manageaccount/ManageAccountScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/passkey/PasskeyListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/passkey/PasskeyListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/manageaccount/ManageAccountScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "3e2f29fdd539442a982155503746efcd43aefd37",
        "timestamp" : 1741778572000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Attempt list statement dao fixes:\u000a1) Remove incorrect where clauses limiting verbs/statement types included\u000a2) Change \"%\" to '%' to avoid Postgres SQL issue (\"\" is not valid)\u000a",
        "date" : "2025-03-12 14:22:52 +0300",
        "id" : "3e2f29fdd539442a982155503746efcd43aefd37",
        "msg" : "Attempt list statement dao fixes:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt"
        ],
        "commitId" : "5a159ae91682f6c40e3e81373dd83a8ad78674e6",
        "timestamp" : 1741783091000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix recording completion xAPI statements for ePUB and PDF.\u000a\u000aCompletion statements were based on reaching the last page and could be repeated as the user scrolls.\u000a",
        "date" : "2025-03-12 15:38:11 +0300",
        "id" : "5a159ae91682f6c40e3e81373dd83a8ad78674e6",
        "msg" : "Fix recording completion xAPI statements for ePUB and PDF.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "6b765fe242daa9dfcaaf0c846734d176fdae0753",
        "timestamp" : 1741838440000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test simplified locator for progress bar\u000a",
        "date" : "2025-03-13 08:00:40 +0400",
        "id" : "6b765fe242daa9dfcaaf0c846734d176fdae0753",
        "msg" : "cypress test simplified locator for progress bar",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesUseCaseServerImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
        ],
        "commitId" : "e0106fe7ff830b1a1ace4f230d78a7e4d0f3527c",
        "timestamp" : 1741845857000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "for resend using existing send invitation use case\u000a",
        "date" : "2025-03-13 11:34:17 +0530",
        "id" : "e0106fe7ff830b1a1ace4f230d78a7e4d0f3527c",
        "msg" : "for resend using existing send invitation use case",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesUseCaseServerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteRequest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "b897088f40fc492acc5276ea966a3a3b21630f3b",
        "timestamp" : 1741864960000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "Resend invite use cases removed\u000a",
        "date" : "2025-03-13 16:52:40 +0530",
        "id" : "b897088f40fc492acc5276ea966a3a3b21630f3b",
        "msg" : "Resend invite use cases removed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteRequest.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteRoute.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadProgressBarWithLabel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressBarWithLabel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "f9d5ef3468d2efe19941dd0144e581a48dde62c5",
        "timestamp" : 1741941978000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improve ContentEntryDetailAttemptsPersonList presentation and fix related queries\u000aa) previous version of screen did not progress bars in the same list item - if user clicked in this area, nothing happened. Appearance was not consistent with material UI.\u000ab) Place labels above progress bar\u000ac) Fix related query to recognize null values when there is no progress or no score for a given person (remove use of coalesce).\u000a",
        "date" : "2025-03-14 11:46:18 +0300",
        "id" : "f9d5ef3468d2efe19941dd0144e581a48dde62c5",
        "msg" : "Improve ContentEntryDetailAttemptsPersonList presentation and fix related queries",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressBarWithLabel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadProgressBarWithLabel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
        ],
        "commitId" : "7e7968f49d2caf6a97bfa0413147d653bd85ffdd",
        "timestamp" : 1741949485000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Search by person name implementation for ContentEntryDetailAttemptsPersonList.\u000aImprove handling of checking for sort options: search for statements with httpaccessible dao function.\u000a",
        "date" : "2025-03-14 13:51:25 +0300",
        "id" : "7e7968f49d2caf6a97bfa0413147d653bd85ffdd",
        "msg" : "Search by person name implementation for ContentEntryDetailAttemptsPersonList.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/PersonAndPictureAndNumAttemptsExt.kt"
        ],
        "commitId" : "a37b87a555683ec16b64e13f94aa2fe09f3f8cf4",
        "timestamp" : 1742215207000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add status text to ContentEntryDetailAttemptsPersonList\u000a",
        "date" : "2025-03-17 16:40:07 +0400",
        "id" : "a37b87a555683ec16b64e13f94aa2fe09f3f8cf4",
        "msg" : "Add status text to ContentEntryDetailAttemptsPersonList",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/PersonAndPictureAndNumAttemptsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDateAndTime.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressBarWithLabel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntityExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/SessionTimeAndProgressInfoExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsListSessionListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/PersonAndPictureAndNumAttemptsExt.kt"
        ],
        "commitId" : "9949a92b2e484dded58aa782bacb648b1deb14e7",
        "timestamp" : 1742222980000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidy up of ContentEntryDetailAttemptsList\u000a",
        "date" : "2025-03-17 18:49:40 +0400",
        "id" : "9949a92b2e484dded58aa782bacb648b1deb14e7",
        "msg" : "Tidy up of ContentEntryDetailAttemptsList",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDateAndTime.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/PersonAndPictureAndNumAttemptsExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/SessionTimeAndProgressInfoExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressBarWithLabel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsListSessionListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/VerbEntityAndName.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementEntityAndVerbExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ListExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/VerbEntityAndNameExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
        ],
        "commitId" : "a212fa1c016177bbbbe275e619e259f7b01b86dd",
        "timestamp" : 1742235031000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidy up of ContentEntryDetailAttemptsStatementList\u000a",
        "date" : "2025-03-17 22:10:31 +0400",
        "id" : "a212fa1c016177bbbbe275e619e259f7b01b86dd",
        "msg" : "Tidy up of ContentEntryDetailAttemptsStatementList",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/VerbEntityAndNameExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementEntityAndVerbExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/VerbEntityAndName.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ListExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "1dd8dbe2825621fa98b2f28b2b80969eb1715824",
        "timestamp" : 1742306525000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated as per design update\u000a",
        "date" : "2025-03-18 18:02:05 +0400",
        "id" : "1dd8dbe2825621fa98b2f28b2b80969eb1715824",
        "msg" : "cypress test updated as per design update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "48fa9893562bf360d3dff30451564da36d316613",
        "timestamp" : 1742315623000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add activity description (e.g. question) and user response to ContentEntryDetailAttemptsStatementList\u000a",
        "date" : "2025-03-18 20:33:43 +0400",
        "id" : "48fa9893562bf360d3dff30451564da36d316613",
        "msg" : "Add activity description (e.g. question) and user response to ContentEntryDetailAttemptsStatementList",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "af431ddb262b2345a7e850f53bf96847e61d77e9",
        "timestamp" : 1742316296000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Maestro test updated as per design update\u000a",
        "date" : "2025-03-18 20:44:56 +0400",
        "id" : "af431ddb262b2345a7e850f53bf96847e61d77e9",
        "msg" : "Maestro test updated as per design update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "357dc9b76b1c923ae65dca4db43e8c61bdcd7cc4",
        "timestamp" : 1742354005000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated adding timeout for pdf flow\u000a",
        "date" : "2025-03-19 07:13:25 +0400",
        "id" : "357dc9b76b1c923ae65dca4db43e8c61bdcd7cc4",
        "msg" : "cypress test updated adding timeout for pdf flow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
        ],
        "commitId" : "45ebf9cbb3637a7ed15fff086e213e03cd4c0451",
        "timestamp" : 1742354184000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test updated adding flow complete command\u000a",
        "date" : "2025-03-19 07:16:24 +0400",
        "id" : "45ebf9cbb3637a7ed15fff086e213e03cd4c0451",
        "msg" : "maestro test updated adding flow complete command",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "41e64e718bab46794633b593ebd750e6eadc2a0f",
        "timestamp" : 1742355632000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated commented pdf flow\u000a",
        "date" : "2025-03-19 07:40:32 +0400",
        "id" : "41e64e718bab46794633b593ebd750e6eadc2a0f",
        "msg" : "cypress test updated commented pdf flow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
        ],
        "commitId" : "90040f0b7c776d0d6fde64e680b8932995f8add5",
        "timestamp" : 1742359538000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated 005_004 external link\u000a",
        "date" : "2025-03-19 08:45:38 +0400",
        "id" : "90040f0b7c776d0d6fde64e680b8932995f8add5",
        "msg" : "cypress test updated 005_004 external link",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
        ],
        "commitId" : "0d7f6b44f92956306598af4e551ffde225951691",
        "timestamp" : 1742378418000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test- 005_004 external link test updated\u000a",
        "date" : "2025-03-19 14:00:18 +0400",
        "id" : "0d7f6b44f92956306598af4e551ffde225951691",
        "msg" : "cypress test- 005_004 external link test updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/.attach_pid44877",
          "app-react/src/jsMain/resources/pdf-js/web/viewer.html",
          "app-ktor-server/.attach_pid10100"
        ],
        "commitId" : "9191dc4c9d5913b7b5466306ef6d656cd4259dff",
        "timestamp" : 1742388541000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix handling completion recording for one page PDF on web\u000a\u000aA one page PDF would never trigger a page change event, so it was never marked as completed.\u000a",
        "date" : "2025-03-19 16:49:01 +0400",
        "id" : "9191dc4c9d5913b7b5466306ef6d656cd4259dff",
        "msg" : "Fix handling completion recording for one page PDF on web",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/viewer.html"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/.attach_pid10100"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/.attach_pid44877"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDaoCommon.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
        ],
        "commitId" : "74c618a3ba75959c98c05440cf7a7dd30e233e57",
        "timestamp" : 1742397358000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix handling of ActivityLangMapEntry saving for activity definitions that include choices, scale, source, target, or steps.\u000a\u000aDao insert or ignore function did not include setting almePropName.\u000a",
        "date" : "2025-03-19 19:15:58 +0400",
        "id" : "74c618a3ba75959c98c05440cf7a7dd30e233e57",
        "msg" : "Fix handling of ActivityLangMapEntry saving for activity definitions that include choices, scale, source, target, or steps.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
        ],
        "commitId" : "1ad7b6f766d1f29073e7bf40be626a3a5327a6bf",
        "timestamp" : 1742456482000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated on pdf test and maestro import/upload timeout increased from 60000ms to 80000ms\u000a",
        "date" : "2025-03-20 11:41:22 +0400",
        "id" : "1ad7b6f766d1f29073e7bf40be626a3a5327a6bf",
        "msg" : "cypress test updated on pdf test and maestro import/upload timeout increased from 60000ms to 80000ms",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "7f5092677537e4142841d5b9e186d1d3b10df8cb",
        "timestamp" : 1742472511000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated on pdf test removed scroll\u000a",
        "date" : "2025-03-20 16:08:31 +0400",
        "id" : "7f5092677537e4142841d5b9e186d1d3b10df8cb",
        "msg" : "cypress test updated on pdf test removed scroll",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "4fb25430f03f39e454466b4f20e8df0288e2ac2b",
        "timestamp" : 1742472538000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test updated on pdf test removed scroll\u000a",
        "date" : "2025-03-20 16:08:58 +0400",
        "id" : "4fb25430f03f39e454466b4f20e8df0288e2ac2b",
        "msg" : "cypress test updated on pdf test removed scroll",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "ca29c370054f70df6a450c4301d46f6b9efa0310",
        "timestamp" : 1742472622000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test cleanup\u000a",
        "date" : "2025-03-20 16:10:22 +0400",
        "id" : "ca29c370054f70df6a450c4301d46f6b9efa0310",
        "msg" : "cypress test cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt"
        ],
        "commitId" : "8e345c46e74e757b87c5035cbab2f6bf7696318d",
        "timestamp" : 1742533245000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "fix issue 1050\u000a",
        "date" : "2025-03-21 10:30:45 +0530",
        "id" : "8e345c46e74e757b87c5035cbab2f6bf7696318d",
        "msg" : "fix issue 1050",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/sequencing-response-statement.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementAndActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/matching-response-statement.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement-multiple-responses.json",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/performance-response-statement.json",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/likert-response-statement.json",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "4abf61254a436f44a6823290c5de419b5f8dd5ab",
        "timestamp" : 1742664375000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of domain use case that formats the response of the user.\u000a\u000aAn Xapi Statement response to multi choice questions etc uses an id, not the string label of the response. The new use case generates an appropriate human readable string for all supported interaction types as per the Xapi Spec.\u000a",
        "date" : "2025-03-22 12:26:15 -0500",
        "id" : "4abf61254a436f44a6823290c5de419b5f8dd5ab",
        "msg" : "Initial implementation of domain use case that formats the response of the user.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/sequencing-response-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementAndActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/likert-response-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/matching-response-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/performance-response-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/true-false-response-statement.json"
        ],
        "commitId" : "9b5b77d659e8ea502369d64f5dda683e0c591155",
        "timestamp" : 1742666504000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add FormatStatementResponseUseCase support for true-false interaction type.\u000a",
        "date" : "2025-03-22 13:01:44 -0500",
        "id" : "9b5b77d659e8ea502369d64f5dda683e0c591155",
        "msg" : "Add FormatStatementResponseUseCase support for true-false interaction type.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/true-false-response-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement-invalid-response.json"
        ],
        "commitId" : "803d8c8df6173d8c1d51cce14ff0d310dc6816b6",
        "timestamp" : 1742754868000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add response information to ContentEntryDetailAttemptsStatementList on react/web version and fix StatementDao.findPersonsWithAttemptsStatements\u000a\u000aStatementDao.findPersonsWithAttemptsStatements would not find statements to pull over http when there was no statement that counted as completion or progress for the contentEntryUid, so no person with an incomplete attempt would appear when pulling data over http.\u000a",
        "date" : "2025-03-23 13:34:28 -0500",
        "id" : "803d8c8df6173d8c1d51cce14ff0d310dc6816b6",
        "msg" : "Add response information to ContentEntryDetailAttemptsStatementList on react/web version and fix StatementDao.findPersonsWithAttemptsStatements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "29fd2b1e84eaa4a72a2eae69cbc6bb92679f1ea6",
        "timestamp" : 1742772763000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix fetching statements per user session per content entry for attempts list over http.\u000a",
        "date" : "2025-03-23 18:32:43 -0500",
        "id" : "29fd2b1e84eaa4a72a2eae69cbc6bb92679f1ea6",
        "msg" : "Fix fetching statements per user session per content entry for attempts list over http.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt"
        ],
        "commitId" : "cdccd904b565a117aec2a35d04f1d641615cdc78",
        "timestamp" : 1742775097000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix insertion/replication of ActivityLangMapEntry for interaction entities\u000a\u000aThe insert query use to insert ActivityLangMapEntry entities for interaction entities needed @QueryTableModified annotation.\u000a",
        "date" : "2025-03-23 19:11:37 -0500",
        "id" : "cdccd904b565a117aec2a35d04f1d641615cdc78",
        "msg" : "Fix insertion/replication of ActivityLangMapEntry for interaction entities",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
        ],
        "commitId" : "e0c80ce65a3270a538e3d896098fd818ce1a68b0",
        "timestamp" : 1742776417000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix setting ActivityEntity actLct when activity information is updated.\u000a",
        "date" : "2025-03-23 19:33:37 -0500",
        "id" : "e0c80ce65a3270a538e3d896098fd818ce1a68b0",
        "msg" : "Fix setting ActivityEntity actLct when activity information is updated.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
        ],
        "commitId" : "36680f0fdfe2a55af99bc1890eb856f231c6b79f",
        "timestamp" : 1742780543000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add duration to statementlist where available.\u000a",
        "date" : "2025-03-23 20:42:23 -0500",
        "id" : "36680f0fdfe2a55af99bc1890eb856f231c6b79f",
        "msg" : "Add duration to statementlist where available.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "d5626a91c2c8464d291bb68fe8a3009aa62c5dc6",
        "timestamp" : 1742780830000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix StatementDao compilation on Android (remove unused parameter)\u000a",
        "date" : "2025-03-23 20:47:10 -0500",
        "id" : "d5626a91c2c8464d291bb68fe8a3009aa62c5dc6",
        "msg" : "Fix StatementDao compilation on Android (remove unused parameter)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
        ],
        "commitId" : "ea1d91286eff8930757c6e90720cc2d49be01e46",
        "timestamp" : 1742793872000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test-005_004 external link test fix for simplified onboarding branch\u000a",
        "date" : "2025-03-24 09:24:32 +0400",
        "id" : "ea1d91286eff8930757c6e90720cc2d49be01e46",
        "msg" : "cypress test-005_004 external link test fix for simplified onboarding branch",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
        ],
        "commitId" : "6814b1000aa537130e11a08098724a929d5f98af",
        "timestamp" : 1742796724000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro test increased timeout for file uploads\u000a",
        "date" : "2025-03-24 10:12:04 +0400",
        "id" : "6814b1000aa537130e11a08098724a929d5f98af",
        "msg" : "maestro test increased timeout for file uploads",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_005_using_link.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/.attach_pid10393",
          "core/.attach_pid45175"
        ],
        "commitId" : "66014ebb7901109a1eaec88327bb3b7021386ea2",
        "timestamp" : 1742820857000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Delete jvm attach pids\u000a",
        "date" : "2025-03-24 07:54:17 -0500",
        "id" : "66014ebb7901109a1eaec88327bb3b7021386ea2",
        "msg" : "Delete jvm attach pids",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "core/.attach_pid10393"
          },
          {
            "editType" : "delete",
            "file" : "core/.attach_pid45175"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/settings.gradle"
        ],
        "commitId" : "291900a4fb9aaacef9d9b99bee562a8468a36a51",
        "timestamp" : 1742821068000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove settings.gradle that should not exist in test-end-to-end/android-maestro\u000a",
        "date" : "2025-03-24 07:57:48 -0500",
        "id" : "291900a4fb9aaacef9d9b99bee562a8468a36a51",
        "msg" : "Remove settings.gradle that should not exist in test-end-to-end/android-maestro",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/settings.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
        ],
        "commitId" : "1a8ec7bc9c40fcf71e61dbebf490df48d79a1ebc",
        "timestamp" : 1742841624000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Merge migrations.\u000a",
        "date" : "2025-03-24 13:40:24 -0500",
        "id" : "1a8ec7bc9c40fcf71e61dbebf490df48d79a1ebc",
        "msg" : "Merge migrations.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "a38cdb768a3b2ff6ec8d5b13d0dc4f91212ac3af",
        "timestamp" : 1742844906000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix compilation after updated primary merge (including attempt list).\u000a",
        "date" : "2025-03-24 14:35:06 -0500",
        "id" : "a38cdb768a3b2ff6ec8d5b13d0dc4f91212ac3af",
        "msg" : "Fix compilation after updated primary merge (including attempt list).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "2e9e6f48584f3b2153de0eaaca107c9b2e5fa25e",
        "timestamp" : 1742854958000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle plugin versions to 8.9.1.\u000a",
        "date" : "2025-03-24 17:22:38 -0500",
        "id" : "2e9e6f48584f3b2153de0eaaca107c9b2e5fa25e",
        "msg" : "Update Android Gradle plugin versions to 8.9.1.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
        ],
        "commitId" : "84b628390c170a7e35478025814486408c623b7c",
        "timestamp" : 1742900600000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated e2e tests for attemptlist test updates\u000a",
        "date" : "2025-03-25 15:03:20 +0400",
        "id" : "84b628390c170a7e35478025814486408c623b7c",
        "msg" : "updated e2e tests for attemptlist test updates",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "084f30daf09c29159b6b9b944a83d8869da3cbf7",
        "timestamp" : 1742901668000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated e2e tests for attemptlist test updates\u000a",
        "date" : "2025-03-25 15:21:08 +0400",
        "id" : "084f30daf09c29159b6b9b944a83d8869da3cbf7",
        "msg" : "updated e2e tests for attemptlist test updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
        ],
        "commitId" : "893c2eb15d06d2b5320146232e3f22f0889290cf",
        "timestamp" : 1742905594000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated cypress test\u000a",
        "date" : "2025-03-25 16:26:34 +0400",
        "id" : "893c2eb15d06d2b5320146232e3f22f0889290cf",
        "msg" : "updated cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_003_admin_or_teacher_add_content_via_file.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/UserPasskeyChallenge.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyVerifyResult.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CredentialResult.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyParams.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PassKeySignInData.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PassKeySignInData.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/UserPasskeyChallenge.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/207.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyVerifyResult.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/SavePersonPasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
        ],
        "commitId" : "5d535342c9d48d06f399dfef5514a36d1285f2d6",
        "timestamp" : 1743345261000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidyup handling of using saved passwords.\u000a",
        "date" : "2025-03-30 14:34:21 +0000",
        "id" : "5d535342c9d48d06f399dfef5514a36d1285f2d6",
        "msg" : "Tidyup handling of using saved passwords.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PassKeySignInData.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyParams.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/UserPasskeyChallenge.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PassKeySignInData.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/207.json"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/UserPasskeyChallenge.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CredentialResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyVerifyResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyVerifyResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCaseTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialRpEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/NavControllerExtTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreenPreview.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/registerageredirect/RegisterAgeRedirectViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewOrExistingUserTypeScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getmetadata/ContentEntryGetMetadataViewModel.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "app-android/src/main/AndroidManifest.xml",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModelTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectusertype/AddAccountSelectUserTypeViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/Header.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/navigation/GetDefaultDestinationUseCase.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingUserTypeViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppBar.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticatorSelectionCriteria.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModelTest.kt",
          "app-android/assetlinks.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingUserTypeScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/account/CheckRegistrationAllowedUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt",
          "app-android/README.md",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/SystemUrlConfig.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyRequestJsonUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialParameters.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/accountlist/AccountListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
        ],
        "commitId" : "bf1cd6dd16dcf0444e7a75d2782fe9958c5ff116",
        "timestamp" : 1743625373000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidyup and refactoring of the signup/registration flow and passkey handling.\u000a",
        "date" : "2025-04-02 20:22:53 +0000",
        "id" : "bf1cd6dd16dcf0444e7a75d2782fe9958c5ff116",
        "msg" : "Tidyup and refactoring of the signup/registration flow and passkey handling.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingUserTypeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/registerageredirect/RegisterAgeRedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/account/CheckRegistrationAllowedUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticatorSelectionCriteria.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/navigation/GetDefaultDestinationUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingUserTypeViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialRpEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "editType" : "add",
            "file" : "app-android/assetlinks.json"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/Header.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewOrExistingUserTypeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/NavControllerExtTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getmetadata/ContentEntryGetMetadataViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialParameters.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/SystemUrlConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModelTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectusertype/AddAccountSelectUserTypeViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
        ],
        "commitId" : "8a63f6077f1e7479a6f6e5fc805bf1a73ff4a14c",
        "timestamp" : 1744176736000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress test fix for test 001_001\u000a",
        "date" : "2025-04-09 09:32:16 +0400",
        "id" : "8a63f6077f1e7479a6f6e5fc805bf1a73ff4a14c",
        "msg" : "Cypress test fix for test 001_001",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "PULLREQUEST-CHECKLIST.md"
        ],
        "commitId" : "adbd7c6b550827437b053a4097c2342645868879",
        "timestamp" : 1744886069000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update PULLREQUEST-CHECKLIST.md\u000a",
        "date" : "2025-04-17 14:34:29 +0400",
        "id" : "adbd7c6b550827437b053a4097c2342645868879",
        "msg" : "Update PULLREQUEST-CHECKLIST.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "PULLREQUEST-CHECKLIST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "076dd2cf09378862cb2e78b4371a5230d57c5242",
        "timestamp" : 1745218241000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add binding for CheckRegistrationAllowedUseCase\u000a",
        "date" : "2025-04-21 10:50:41 +0400",
        "id" : "076dd2cf09378862cb2e78b4371a5230d57c5242",
        "msg" : "Add binding for CheckRegistrationAllowedUseCase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/passkey/PasskeyListViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/passkey/PasskeyListScreen.kt"
        ],
        "commitId" : "4cb822ab07f3bf6da5dc764a6329b355b2d8daa0",
        "timestamp" : 1745248574000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix merge\u000a",
        "date" : "2025-04-21 19:16:14 +0400",
        "id" : "4cb822ab07f3bf6da5dc764a6329b355b2d8daa0",
        "msg" : "Fix merge",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/passkey/PasskeyListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/passkey/PasskeyListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
        ],
        "commitId" : "be23e75d334011b288f4e86867f568969af83627",
        "timestamp" : 1745248606000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix merge\u000a",
        "date" : "2025-04-21 19:16:46 +0400",
        "id" : "be23e75d334011b288f4e86867f568969af83627",
        "msg" : "Fix merge",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "e788944c57e7093e8c485eb91204fe4d8a3aef83",
        "timestamp" : 1745410965000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle Plugin (AGP) from 8.9.1 to 8.9.2\u000a",
        "date" : "2025-04-23 16:22:45 +0400",
        "id" : "e788944c57e7093e8c485eb91204fe4d8a3aef83",
        "msg" : "Update Android Gradle Plugin (AGP) from 8.9.1 to 8.9.2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "app-android/src/main/AndroidManifest.xml",
          "app-android/src/main/res/values/assets_statement_values.xml",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "app-android/README.md"
        ],
        "commitId" : "e720b05195bf4e3d34ef96747778b7df54f67dda",
        "timestamp" : 1745483628000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fixes for passkey creation and additional documentation\u000a",
        "date" : "2025-04-24 12:33:48 +0400",
        "id" : "e720b05195bf4e3d34ef96747778b7df54f67dda",
        "msg" : "Fixes for passkey creation and additional documentation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-android/src/main/res/values/assets_statement_values.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt",
          "app-android/build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/username/ParseCredentialUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt",
          "core/Module.md",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "app-android/src/main/AndroidManifest.xml",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/SystemUrlConfig.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModelTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/username/CreateCredentialUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/UstadBuildConfig.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
        ],
        "commitId" : "f096b37bdc48f8fcd7a95f7dff6dd6c1da503e54",
        "timestamp" : 1745512072000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor passkey and credential handling:\u000a1) Create use case for CreateCredentialUsernameUseCase and ParseCredentialUsernameUseCase - this is to be used both when saving a username and password to a password manager and when creating a passkey.\u000a2) Update SystemUrlConfig - remove passkeyRpId. The passkey rpId is always the hostname of the SystemUrlConfig.systemBaseUrl .\u000a3) Update AndroidManifest.xml to use SystemUrlConfig.systemBaseUrl in intent-filter for links\u000a",
        "date" : "2025-04-24 20:27:52 +0400",
        "id" : "f096b37bdc48f8fcd7a95f7dff6dd6c1da503e54",
        "msg" : "Refactor passkey and credential handling:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/username/CreateCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/username/ParseCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/SystemUrlConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/UstadBuildConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/Module.md"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
        ],
        "commitId" : "0595132d444a8b40f78201ea078f769cb3e2dd31",
        "timestamp" : 1745582431000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix DomainDiModuleJs compilation\u000a",
        "date" : "2025-04-25 16:00:31 +0400",
        "id" : "0595132d444a8b40f78201ea078f769cb3e2dd31",
        "msg" : "Fix DomainDiModuleJs compilation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
        ],
        "commitId" : "a8f77f861c115d18e065b978eda85004c9b59f7c",
        "timestamp" : 1745584076000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix DesktopDomainDiModule compilation\u000a",
        "date" : "2025-04-25 16:27:56 +0400",
        "id" : "a8f77f861c115d18e065b978eda85004c9b59f7c",
        "msg" : "Fix DesktopDomainDiModule compilation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js"
        ],
        "commitId" : "dfbf35a7833fc060ab0f798e35f22917e175a4d1",
        "timestamp" : 1745840647000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated button name - Manage account in cypress test\u000a",
        "date" : "2025-04-28 15:44:07 +0400",
        "id" : "dfbf35a7833fc060ab0f798e35f22917e175a4d1",
        "msg" : "Updated button name - Manage account in cypress test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_004_username_validation_and_add_profile_pic.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
        ],
        "commitId" : "fe75fb7b41b22ffac3cc6217fbe9a37565bc9881",
        "timestamp" : 1745907048000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated button name - Manage account in maestro test\u000a",
        "date" : "2025-04-29 10:10:48 +0400",
        "id" : "fe75fb7b41b22ffac3cc6217fbe9a37565bc9881",
        "msg" : "Updated button name - Manage account in maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
        ],
        "commitId" : "025c190f2063906b21cc52c381a98ef159922606",
        "timestamp" : 1745991952000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Manage account in maestro test 007_004\u000a",
        "date" : "2025-04-30 09:45:52 +0400",
        "id" : "025c190f2063906b21cc52c381a98ef159922606",
        "msg" : "Manage account in maestro test 007_004",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
        ],
        "commitId" : "0756230322c88c42e097d2ddd701724698f8b381",
        "timestamp" : 1746005147000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Manage account in maestro test 001_002\u000a",
        "date" : "2025-04-30 13:25:47 +0400",
        "id" : "0756230322c88c42e097d2ddd701724698f8b381",
        "msg" : "Manage account in maestro test 001_002",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
        ],
        "commitId" : "b856e5b707f475a43b390276724aa42d61cb78e2",
        "timestamp" : 1746628667000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update passkey creation:\u000a1) Use typed kotlinx serialization classes for passkey creation\u000a2) Make passkey creation domain use cases bound to scope (so they understand what learning space they are connected to, and generate a username using CreateCredentialUsernameUseCase accordingly.\u000a3) Update SignUpViewModel to use loadEntity function.\u000a",
        "date" : "2025-05-07 18:37:47 +0400",
        "id" : "b856e5b707f475a43b390276724aa42d61cb78e2",
        "msg" : "Update passkey creation:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "testserver-controller/README.md",
          "test-end-to-end/android-maestro/README.md"
        ],
        "commitId" : "3d9076702435024ab127b489fbec026e378e24d4",
        "timestamp" : 1746802801000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add learning space url template support to testserver controller to enable maestro end to end tests to use https.\u000a",
        "date" : "2025-05-09 19:00:01 +0400",
        "id" : "3d9076702435024ab127b489fbec026e378e24d4",
        "msg" : "Add learning space url template support to testserver controller to enable maestro end to end tests to use https.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "41d0e2d3ab026e6259a19ae04a8d14a9f3821d91",
        "timestamp" : 1747139339000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix testServerController running Cypress: changing the order of adding to the running server list broke the reverse proxy interceptor.\u000a",
        "date" : "2025-05-13 16:28:59 +0400",
        "id" : "41d0e2d3ab026e6259a19ae04a8d14a9f3821d91",
        "msg" : "Fix testServerController running Cypress: changing the order of adding to the running server list broke the reverse proxy interceptor.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "buildconfig.default.properties"
        ],
        "commitId" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
        "timestamp" : 1747151656000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update config to use new learning-tree.app domain.\u000a",
        "date" : "2025-05-13 19:54:16 +0400",
        "id" : "ec5940ae54382c530a584f3f91e540bdb7bd8f1e",
        "msg" : "Update config to use new learning-tree.app domain.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "buildconfig.default.properties"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj",
      "fullName" : "Nikunj Sharma"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
      "fullName" : "Prashant Deshmukh"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
      "fullName" : "Mike Dawson"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
      "fullName" : "Pooja Ravi"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
      "fullName" : "mandvi.verma"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
      "fullName" : "nikunj.sharma"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunjs.0011",
      "fullName" : "Nikunjs.0011"
    }
  ]
}