{
  "_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-distributedcache" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 36,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b3aaf78e30d2ddbc452565f48e2643341abf2b12",
            "branch" : [
              {
                "SHA1" : "b3aaf78e30d2ddbc452565f48e2643341abf2b12",
                "name" : "refs/remotes/origin/dev-simplified-onboarding-distributedcache"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b3aaf78e30d2ddbc452565f48e2643341abf2b12",
            "branch" : [
              {
                "SHA1" : "b3aaf78e30d2ddbc452565f48e2643341abf2b12",
                "name" : "refs/remotes/origin/dev-simplified-onboarding-distributedcache"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "b3aaf78e30d2ddbc452565f48e2643341abf2b12",
        "branch" : [
          {
            "SHA1" : "b3aaf78e30d2ddbc452565f48e2643341abf2b12",
            "name" : "refs/remotes/origin/dev-simplified-onboarding-distributedcache"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/UstadMobile/UstadMobile.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 2,
      "totalCount" : 344,
      "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" : "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" : "#36",
  "duration" : 539011,
  "estimatedDuration" : 541226,
  "executor" : None,
  "fullDisplayName" : "dev-simplified-onboarding-distributedcache #36",
  "id" : "36",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 36,
  "queueId" : 3195,
  "result" : "SUCCESS",
  "timestamp" : 1751816872755,
  "url" : "https://devserver3.ustadmobile.com/jenkins/job/dev-simplified-onboarding-distributedcache/36/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_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/detail/ContentEntryDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptListViewModel.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/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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.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" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.kt"
          },
          {
            "editType" : "add",
            "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/detail/ContentEntryDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.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"
          }
        ]
      },
      {
        "_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" : "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/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/person/accountedit/PersonAccountEditScreen.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" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "add",
            "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/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-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/PersonAndSessionInfo.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.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/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" : "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/ContentEntryDeatilAttemptsSessionListScreen.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/ContentEntryDetailAttemptsStatementListViewModel.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/lib/db/PersonAndSessionInfo.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/StatementDao.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"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "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-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/XapiSessionEntityDao.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/StatementDao.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" : [
          "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/ContentEntryDeatilAttemptsSessionListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.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" : "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/ContentEntryDeatilAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "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/ContentEntryDeatilAttemptsSessionListScreen.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",
          "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" : "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/ContentEntryDeatilAttemptsSessionListScreen.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/StatementDao.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"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "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",
          "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"
        ],
        "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" : "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/ContentEntryDeatilAttemptsSessionListScreen.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/ContentEntryDetailAttemptsPersonListScreen.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" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.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",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.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/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/XapiSessionEntityDao.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/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.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/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/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" : "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/XapiSessionEntityDao.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",
          "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" : "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" : "add",
            "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" : "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" : "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/detail/ContentEntryDetailScreen.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",
          "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" : "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/detail/ContentEntryDetailScreen.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/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.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" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "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/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "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/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.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",
          "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/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "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/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "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" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/downloaduploadstatus/DownloadUploadStatusViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.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",
          "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" : "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" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt"
          },
          {
            "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/ContentEntryDetailAttemptsPersonListViewModel.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/ContentEntryDetailAttemptsSessionListViewModel.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-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.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" : "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" : "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" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.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/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"
        ],
        "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" : "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"
          },
          {
            "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/ContentEntryDetailAttemptsPersonListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.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/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/e2e-tests/002_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.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/test-files/content/Ustad_Students_List.csv",
          "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/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_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_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/002_007_admin_grant_permissions_test.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_006_assignment_grace_period_finished.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/003_003_add_existing_content_in_library_as_block.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_008_course_blocks_title_field_is_mandatory.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_003_teacher_record_attendance.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/002_001_admin_add_new_course_and_teacher.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/test-files/content/Ustad_Students_List.csv"
          },
          {
            "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/004_005_assignment_after_deadline_and_before_grace_Period.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/005_006_users_can_delete_post_on_discussion_board.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/004_001_assignment_creation_submission_grading.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_007_all_user_able_to_open_text_block.yaml"
          }
        ]
      },
      {
        "_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-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",
          "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/view/UstadView.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" : "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/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/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.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/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.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" : "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/ContentEntryDetailAttemptsStatementListViewModel.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/view/UstadView.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.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" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.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" : "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"
          }
        ]
      },
      {
        "_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" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_members.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/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbLangMapEntry.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/composites/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.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/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "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" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.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/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.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_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_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/package-lock.json",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "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/package-lock.json"
          },
          {
            "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_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_008_group_users_add_assignment_and_course_comments.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_010_group_users_single_assignment_submission_allowed.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_012_peer_marking_for_individual_assignment.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_002_003_teacher_record_attendance.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" : "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_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_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/e2e/WEB_005_001_teacher_add_discussion_and_post.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_003_user_add_private_comment.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_004_011_group_users_multiple_assignment_submission_allowed.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_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"
          }
        ]
      },
      {
        "_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",
          "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",
          "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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.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"
          },
          {
            "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" : "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" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StatementAndPersonAndPicture.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"
          }
        ]
      },
      {
        "_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/ContentEntryDetailAttemptsSessionListScreen.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/ContentEntryDetailAttemptsStatementListScreen.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/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/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" : "edit",
            "file" : "test-end-to-end/test-descriptions/001_001_admin_can_add_content_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_010_username_validation_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" : [
          "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" : "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" : [
          "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" : [
          "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-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/commonMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/settings.gradle",
          "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"
        ],
        "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" : "add",
            "file" : "test-end-to-end/android-maestro/settings.gradle"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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/ContentEntryDetailAttemptsPersonListViewModel.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"
          }
        ]
      },
      {
        "_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" : [
          "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" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.yaml"
          },
          {
            "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/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" : "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" : [
          "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" : [
          "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" : "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/UstadJsDi.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/DismissSocialWarningUseCase.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/socialwarning/ShowSocialWarningUseCase.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/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "add",
            "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" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/messagelist/MessageListScreen.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" : "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" : "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" : "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/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/resources/MR/base/strings.xml"
        ],
        "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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/SocialWarningListItem.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/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",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.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" : "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-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "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"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/messagelist/MessageListScreen.kt"
          }
        ]
      },
      {
        "_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/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.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",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.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" : "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" : "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"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.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/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.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" : [
          "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" : "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" : "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/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" : "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/message/messagelist/MessageListViewModel.kt"
          },
          {
            "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/mui/components/SocialWarningListItem.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" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/SocialWarningListItem.kt"
          },
          {
            "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" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          },
          {
            "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" : [
          "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",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.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",
          "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/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" : "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" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/images/UstadImagePainter.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/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/ContentEntryDetailAttemptsSessionListViewModel.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/ContentEntryDetailAttemptsPersonListViewModel.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",
          "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",
          "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/ContentEntryDetailAttemptsSessionListViewModel.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/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.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" : "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/XapiSessionEntityDao.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/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/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "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/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" : "add",
            "file" : "et --hard HEAD@{1}"
          },
          {
            "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/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/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"
          },
          {
            "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",
          "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" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "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" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.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" : [
          "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" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/RememberFormattedDuration.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDuration.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/hooks/useFormattedDuration.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/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" : "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/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/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",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndAttemptInfo.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" : "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"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.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" : "delete",
            "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/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.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" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDeatilAttemptsSessionListScreen.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/ContentEntryDetailAttemptsPersonListScreen.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/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "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" : "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-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" : [
          "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/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" : "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/login/LoginViewModel.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"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.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/person/accountedit/PersonAccountEditScreen.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" : "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-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"
          }
        ]
      },
      {
        "_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",
          "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",
          "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" : "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" : "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/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.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/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/person/edit/PersonEditScreen.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" : "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" : "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/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/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" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/login/LoginScreen.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/person/accountedit/PersonAccountEditScreen.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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/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",
          "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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "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" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.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" : "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" : "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" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.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",
          "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",
          "app-react/src/jsMain/kotlin/UstadJsDi.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" : "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" : "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" : "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" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.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/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.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/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/accountedit/PersonAccountEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          }
        ]
      },
      {
        "_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/resources/MR/base/strings.xml"
          },
          {
            "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"
          },
          {
            "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/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "translate-screenshots/username_too_short.png",
          "translate-screenshots/username_starts_with_number.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_too_short.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/username_starts_with_number.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/ContentEntryDetailAttemptsPersonListScreen.kt",
          "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" : "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/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/ContentEntryDetailAttemptsStatementListScreen.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/cypress/support/commands.js"
          },
          {
            "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/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/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/validateusername/ValidateUsernameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
        ],
        "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/resources/MR/base/strings.xml"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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/common/select_site.yaml"
          },
          {
            "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" : "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" : [
          "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/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_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/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/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/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.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/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/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/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/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/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/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/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/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_003-video.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/common/add_assignment_file.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/001_001_admin_can_add_content_004_using_link.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_005_admin_can_remove_content_and_download_again.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/common/clear_login_and_add_content.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/002_003_teacher_record_attendance.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/e2e-tests/002_001_admin_add_new_course_and_teacher.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.disabled/004_011_group_users_multiple_assignment_submission_allowed.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_012_peer_marking_for_individual_assignment.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_006_course_view_and_modules_can_expand_collapse.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_004-pdf.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.disabled/004_003_user_add_private_comment.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/001_004_admin_can_move_content.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/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/common/startserver.js"
          },
          {
            "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/common/student_bulk_upload_csv.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_002_users_add_course_comments.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_008_course_blocks_title_field_is_mandatory.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/001_001_admin_can_add_content_001-h5p.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/003_003_add_existing_content_in_library_as_block.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.disabled/001_007_admin_make_content_publicly_not_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/webapp-cypress/run-cypress-test.sh"
          },
          {
            "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/common/add_profile_pic.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_003_admin_can_delete_and_restore_content_001.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_002_admin_add_invalid_content_gets_error_msg.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          }
        ]
      },
      {
        "_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_004_004_multiple_submission_possible_for_student.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_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/Failed tests/003_008_content_blocks_title_should_not_be_blank.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_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.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_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_002_005_course_title_is_mandatory.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_001_002_add_invalid_content.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_004_010_group_users_single_assignment_submission_allowed.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_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_007_002_user_registration_above_age_13.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_002_005_course_title_is_mandatory.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_003_007_user_able_to_open_text_block.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_013_peer_marking_for_group_assignment.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_004_multiple_submission_possible_for_student.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_004_003_user_add_private_comment.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_002_003_teacher_record_attendance.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_004_001_assignment_creation_submission_grading.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_004_010_group_users_single_assignment_submission_allowed.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_004_006_assignment_grace_period_finished.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/e2e/WEB_001_003_move_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_002_001_admin_add_new_course_and_teacher.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_007_006_admin_enable_or_disable_guest_login.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_001_001_add_content.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_005_004_user_add_internal_links_to_post.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_009_group_users_add_private_comments.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_005_user_add_external_links_to_post.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_005_admin_or_teacher_and_content_via_file.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_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"
          }
        ]
      },
      {
        "_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" : "test-end-to-end/webapp-cypress/README.md"
          },
          {
            "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" : "gradle/libs.versions.toml"
          },
          {
            "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" : "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" : "testserver-controller/README.md"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          }
        ]
      },
      {
        "_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" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "add",
            "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" : "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" : "delete",
            "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" : "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" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "add",
            "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" : [
          "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_001_002_add_invalid_content.cy.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.config.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_001_002_add_invalid_content.cy.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" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          },
          {
            "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/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/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_001_001_add_content.cy.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" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "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" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerControllerMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/OkHttpClientExt.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" : "delete",
            "file" : "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",
          "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" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "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/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/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "add",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          }
        ]
      },
      {
        "_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" : "test-end-to-end/webapp-cypress/package.json"
          },
          {
            "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" : "testserver-controller/README.md"
          },
          {
            "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/OkHttpClientExt.kt"
          },
          {
            "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_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/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/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/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/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/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/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/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/005_005_users_can_add_external_links_as_post_on_discussion_board.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/003_007_all_user_able_to_open_text_block.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/004_005_assignment_after_deadline_and_before_grace_Period.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/003_005_add_new_content_block_inside_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/e2e-tests/001_006_admin_can_cancel_content_download.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/common/select_site.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/clear_login_and_add_content.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_002_admin_add_invalid_content_gets_error_msg.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/004_004_multiple_submission_possible_for_student.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/000_000_hello_world.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_003_teacher_record_attendance.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_001_admin_add_new_course_and_teacher.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_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.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_001_admin_can_add_content_004-pdf.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_005_admin_can_remove_content_and_download_again.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_005_course_title_is_mandatory.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/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.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.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_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/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/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/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.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/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/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/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/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/common/push_test_file_to_downloads.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/001_005_admin_can_remove_content_and_download_again.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.disabled/004_010_group_users_single_assignment_submission_allowed.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_001_admin_add_new_course_and_teacher.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_008_course_blocks_title_field_is_mandatory.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_008_group_users_add_assignment_and_course_comments.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/002_007_admin_grant_permissions_test.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/004_002_users_add_course_comments.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/004_004_multiple_submission_possible_for_student.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/common/clear_login_and_add_content.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/002_009_people_add_and_remove_profile_pic.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_007_all_user_able_to_open_text_block.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/001_001_admin_can_add_content_002-epub.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/add_profile_pic.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/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/e2e-tests.disabled/001_007_admin_make_content_publicly_not_accessible.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_003_users_can_add_post_on_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/001_001_admin_can_add_content_001-h5p.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/005_004_users_can_add_internal_links_as_post_on_discussion_board.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_003_admin_can_permanently_delete_the_content_002.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/001_003_admin_can_delete_and_restore_content_001.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_003_teacher_record_attendance.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/001_001_admin_can_add_content_003-video.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/e2e-tests/004_001_assignment_creation_submission_grading.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/common/add_assignment_file.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/common/push_test_file_to_downloads.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_002_teacher_can_edit_discussion_board.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/user_login.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/startserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/stopserver.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_people.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/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "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/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_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/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/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/common/add_member_inside_course.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/common/edit_recorded_attendance.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/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/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/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/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/common/admin_login.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/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/common/add_new_student_inside_course.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/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/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/create_course_with_1teacher_1student.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/e2e-tests/001_006_admin_can_cancel_content_download.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"
        ],
        "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/add_new_content_block_to_course.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_demo_block_structure.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_001_admin_add_new_course_and_teacher.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/common/add_member_inside_course.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/005_006_users_can_delete_post_on_discussion_board.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_007_admin_grant_permissions_test.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/004_006_assignment_grace_period_finished.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/001_007_admin_make_content_publicly_not_accessible.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_003_users_can_add_post_on_discussion_board.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_teacher_inside_course.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_005_users_can_add_external_links_as_post_on_discussion_board.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_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_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.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/common/add_assignment_file.yaml"
          },
          {
            "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_012_peer_marking_for_individual_assignment.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/001_003_admin_can_permanently_delete_the_content_002.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" : "add",
            "file" : "test-end-to-end/android-maestro/common/admin_login.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/push_test_file_to_downloads.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.disabled/004_011_group_users_multiple_assignment_submission_allowed.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.disabled/004_003_user_add_private_comment.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/004_004_multiple_submission_possible_for_student.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/000_000_hello_world.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_009_people_add_and_remove_profile_pic.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/001_006_admin_can_cancel_content_download.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.disabled/004_010_group_users_single_assignment_submission_allowed.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/student_bulk_upload_csv.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/enable_guest_login.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.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.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/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.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/common/edit_course.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/student_send_course_join_request_using_code.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/001_001_admin_can_add_content_001-h5p.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/common/startserver.yaml"
          },
          {
            "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/add_profile_pic.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/003_001_add_or_edit_course_permission_test.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/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_module_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/001_002_admin_add_invalid_content_gets_error_msg.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/common/create_course_with_members.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.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/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/create_course_with_members.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/enable_guest_login.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/002_003_teacher_record_attendance.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/create_course_with_1teacher_2students.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_new_content_block_to_course.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_member_inside_course.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/delete_and_download_content.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/student_send_course_join_request_using_code.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/add_course.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/run-maestro-ci.sh"
          },
          {
            "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_006_course_view_and_modules_can_expand_collapse.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/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-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"
          }
        ]
      },
      {
        "_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/README.md",
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "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" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "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/e2e-tests/004_001_assignment_creation_submission_grading.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/stopserver.js"
          }
        ]
      },
      {
        "_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",
          "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",
          "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" : "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/resources/MR/base/strings.xml"
          },
          {
            "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/ContentEntryDetailAttemptsPersonListViewModel.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" : [
          "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" : "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" : "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/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" : [
          "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/005_002_teacher_can_edit_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/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/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/002_005_course_title_is_mandatory.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/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/004_004_multiple_submission_possible_for_student.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/000_000_hello_world.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/002_007_admin_grant_permissions_test.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" : ".gitignore"
          },
          {
            "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/002_005_course_title_is_mandatory.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_permanently_delete_the_content_002.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/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_004-pdf.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/003_008_course_blocks_title_field_is_mandatory.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/004_005_assignment_after_deadline_and_before_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/005_001_add_discussionBoard.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_003-video.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/test-files/content/example.html"
          },
          {
            "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/004_006_assignment_grace_period_finished.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/005_006_users_can_delete_post_on_discussion_board.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_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.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/person/edit/PersonEditViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.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/person/edit/PersonEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.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/webapp-cypress/README.md"
          },
          {
            "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",
          "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/webapp-cypress/cypress/e2e/WEB_002_010_username_validation.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.yaml"
          }
        ]
      },
      {
        "_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" : [
          "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/clear_login_and_add_content.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/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/add_profile_pic.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/003_003_add_existing_content_in_library_as_block.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/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" : "delete",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.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/add_assignment_file.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_assignment_file.yaml",
          "test-end-to-end/android-maestro/common/add_new_content_block_to_course.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_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/common/clear_login_and_add_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_content_block_to_course.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" : [
          ".gitignore",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
        ],
        "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" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "add",
            "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/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",
          "lib-ihttp-core/build.gradle.kts",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "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" : "lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/index.html"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          },
          {
            "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" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-util/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",
          "lib-ihttp-nanohttpd/build.gradle.kts",
          "app-android-baselineprofile/build.gradle.kts",
          "app-ktor-server/build.gradle",
          "lib-ihttp-okhttp/build.gradle.kts",
          "core/build.gradle",
          "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-util/build.gradle",
          "lib-ihttp-core/build.gradle.kts",
          "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" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-util/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose-videoplayer/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/build.gradle"
          }
        ]
      },
      {
        "_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" : [
          "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",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.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" : "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/PersonAndPictureAndNumAttempts.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",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/list/PersonListScreen.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",
          "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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ClazzInviteRedeemUseCase.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json",
          "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" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.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/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/PendingInviteScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzInvite.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteRoute.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" : "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" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.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/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteViaContact/PendingInviteScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/PendingInviteViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.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/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/get_started.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/common/play_video_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-check.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/common/edit_recorded_attendance.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/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/stopserver.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/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/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_site.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/select_file_from_picker.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/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/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/add_profile_pic.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_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.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/setDate.js",
          "test-end-to-end/android-maestro/e2e-tests/common/add_new_people.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/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/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/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/enable_switch_to_content_not_publicly_accessible.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" : "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/setDate.js"
          },
          {
            "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/admin_login.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/student_send_course_join_request_using_code.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/005_006_users_can_delete_post_on_discussion_board.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/startserver.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/guest_login.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-accept-ad-privacy.yaml"
          },
          {
            "editType" : "edit",
            "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/android-maestro/e2e-tests/common/chrome-first-run-tap-accept-or-use-without-account.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/000_000_hello_world.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.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/003_001_add_or_edit_course_permission_test.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" : "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_003-video.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/edit_recorded_attendance.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/create_course_with_1teacher_2students.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/login_download_and_open_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_student_inside_course.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/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/record_attendance.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/admin_can_copy_course_code.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/accepting_course_join_request.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_member_inside_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/stopserver.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/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/chrome-first-run-accept-and-continue.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/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" : "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/user_login.yaml"
          },
          {
            "editType" : "add",
            "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/003_007_all_user_able_to_open_text_block.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/play_video_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/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" : "add",
            "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/001_003_admin_can_delete_and_restore_content_001.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/chrome-first-run-check.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_010_username_validation.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/add_existing_content_block_to_course.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/add_profile_pic.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/004_006_assignment_grace_period_finished.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/001_001_admin_can_add_content_002-epub.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/redirect_to_select.yaml"
          },
          {
            "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/select_site.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/enable_guest_login.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/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_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_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"
        ],
        "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_003-video.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_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_004-pdf.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_007_admin_grant_permissions_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.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/004_001_assignment_creation_submission_grading.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" : "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/test-files/content/example.html"
          },
          {
            "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_007_admin_grant_permissions_test.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/004_004_multiple_submission_possible_for_student.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/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_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" : "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_002_student_joining_course_using_code.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/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/003_003_add_existing_content_in_library_as_block.yaml"
          },
          {
            "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/002_003_teacher_record_attendance.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_001_admin_can_add_content_002-epub.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/001_003_admin_can_delete_and_restore_content_001.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_006_course_view_and_modules_can_expand_collapse.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_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/002_010_username_validation.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_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" : "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_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/001_004_admin_can_move_content.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/download_file_via_browser.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_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.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/003_008_course_blocks_title_field_is_mandatory.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_003_admin_can_permanently_delete_the_content_002.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/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_010_username_validation.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/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "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/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/startserver.js",
          "test-end-to-end/android-maestro/common/setDate.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/select_site.yaml",
          "test-end-to-end/android-maestro/common/clear_state_and_get_started.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_new_people.yaml",
          "test-end-to-end/android-maestro/common/add_assignment_file.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/startserver.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/get_started.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/user_login.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/add_member_inside_course.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/admin_login.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/add_new_teacher_inside_course.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/redirect_to_select.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-accept-ad-privacy.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_existing_content_block_to_course.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_new_people.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/stopserver.js"
          },
          {
            "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/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_course.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_module_block.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/accepting_course_join_request.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/setDate.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/select_site.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.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/add_text_block.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/guest_login.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/edit_course.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/dismiss_notification.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/enable_switch_to_content_not_publicly_accessible.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/select_file_from_picker.yaml"
          },
          {
            "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/chrome-first-run-tap-notification-no-thanks.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/record_attendance.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/chrome-first-run-accept-and-continue.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/student_send_course_join_request_using_code.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.disabled/001_007_admin_make_content_publicly_not_accessible.yaml",
          "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_001-h5p.txt"
        ],
        "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.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "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-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_002-epub.txt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests-descriptions-override/001_001_admin_can_add_content_003-video.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_011_group_users_multiple_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.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/001_001_admin_can_add_content_004_using_link.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.pending/004_003_user_add_private_comment.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.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_009_group_users_add_private_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.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" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.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" : "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" : "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_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "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/004_003_user_add_private_comment.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_010_group_users_single_assignment_submission_allowed.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/004_009_group_users_add_private_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/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_012_peer_marking_for_individual_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/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/001_001_admin_can_add_content_004_using_link.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_add_private_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_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "add",
            "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/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/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"
          }
        ]
      },
      {
        "_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_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/001_006_admin_can_cancel_content_download.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_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"
          },
          {
            "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_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_006_admin_can_cancel_content_download.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/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.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"
          }
        ]
      },
      {
        "_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/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests.pending/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" : "delete",
            "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.pending/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_013_peer_marking_for_group_assignment.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/005_005_users_can_add_external_links_as_post_on_discussion_board.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_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_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_009_group_users_add_private_comments.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_011_group_users_multiple_assignment_submission_allowed.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"
          },
          {
            "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/005_004_users_can_add_internal_links_as_post_on_discussion_board.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_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "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.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/004_010_group_users_single_assignment_submission_allowed.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",
          "test-end-to-end/test-files/content/Ustad_Teacher_and_Students.csv",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "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",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationRequestExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.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" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonException.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/bulkaddusers/needs-new-clazz.csv"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/Ustad_Students_List.csv"
          },
          {
            "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/ext/ApplicationRequestExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/bulkaddusers/BulkAddUsersUseCaseJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/person/bulkadd/BulkAddPersonRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/Ustad_Teacher_and_Students.csv"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/staticfiles/bulkaddpersons/bulk-add-persons-template.csv"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_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/005_001_add_discussionBoard.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/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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsSessionListViewModel.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" : "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-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"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.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" : "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" : "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" : [
          "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" : "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" : "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" : [
          "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",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.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-react/src/jsMain/kotlin/UstadJsDi.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",
          "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-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.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" : "app-react/src/jsMain/kotlin/UstadJsDi.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/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "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" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.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/inviteredeem/ClazzInviteRedeemViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
          },
          {
            "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/domain/invite/ClazzInviteRedeemUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteViaContact/PendingInviteScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/PendingInviteViewModel.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/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.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" : "test-end-to-end/android-maestro/e2e-tests/common/download_file_via_browser.yaml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          }
        ]
      },
      {
        "_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" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteredeem/ClazzInviteRedeemViewModel.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/domain/invite/ClazzInviteRedeemUseCase.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" : "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/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/import_users_via_http.js",
          "test-end-to-end/android-maestro/e2e-tests/common/set_bulkadd.js",
          "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt"
        ],
        "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" : "test-end-to-end/android-maestro/e2e-tests/002_003_teacher_record_attendance.yaml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/set_bulkadd.js"
          },
          {
            "editType" : "add",
            "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/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/005_001_add_discussionBoard.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" : "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/002_002_student_joining_course_using_code.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/common/import_users_via_http.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/003_006_course_view_and_modules_can_expand_collapse.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/003_007_all_user_able_to_open_text_block.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_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"
          },
          {
            "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_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"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "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/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/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_006_assignment_grace_period_finished.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_002_users_add_course_comments.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" : [
          "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_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/005_005_users_can_add_external_links_as_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_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/005_006_users_can_delete_post_on_discussion_board.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"
          }
        ]
      },
      {
        "_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/common/add_new_content_block_to_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.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/common/add_new_content_block_to_course.yaml"
          },
          {
            "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/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" : "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/package.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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/test-files/content/index.html",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "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" : "add",
            "file" : "test-end-to-end/test-files/content/courseBannerPic_pexels.txt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/index.html"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/adminProfilePic_pexels.txt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/courseBannerPic.jpg"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "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/004_009_group_users_add_private_comments_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "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/test-descriptions/005_002_teacher_can_edit_discussion_board_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_001_add_discussionBoard_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.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/004_003_user_add_private_comment_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"
          }
        ]
      },
      {
        "_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" : "delete",
            "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.pending/004_002_users_add_course_comments.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "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/004_001_assignment_creation_submission_grading.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" : "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" : "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_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_003_teacher_record_attendance.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_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_003_001_add_or_edit_course_permission_test.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_002_001_admin_add_new_course_and_teacher.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_003_teacher_record_attendance.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"
          }
        ]
      },
      {
        "_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_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_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_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_004_003_user_add_private_comment.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_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" : "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_005_001_teacher_add_discussion_and_post.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_teacher_can_edit_discussion_board.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_012_peer_marking_for_individual_assignment.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_013_peer_marking_for_group_assignment.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_007_002_user_registration_above_age_13.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_005_user_add_external_links_to_post.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_003_005_admin_or_teacher_and_content_via_file.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_009_user_registration_email_field_verification.cy.js"
          },
          {
            "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_005_003_all_user_add_post_and_reply.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_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_003_006_user_able_to_expand_and_collapse_modules.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_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" : "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_004_002_users_add_course_comments.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/test-files/content/profile_Pic.jpg"
          },
          {
            "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/admin_profilePic.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/android-maestro/e2e-tests/007_004_username_validation_and_add_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/profile_Pic_pexels.txt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/index.html"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-files/content/adminProfilePic_pexels.txt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          }
        ]
      },
      {
        "_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/android-maestro/e2e-tests/005_005_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/test-descriptions/004_012_peer_marking_for_individual_assignment_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/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_010_group_users_single_assignment_submission_allowed.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_005_assignment_grace_period_finished.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/android-maestro/e2e-tests/004_004_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_004_user_add_external_links_to_post.cy.js",
          "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_010_group_users_single_assignment_submission_allowed_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/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/test-descriptions/002_004_teacher_can_view_progress_report_showing_each_students_result_in_gradebook_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/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/webapp-cypress/cypress/Failed tests/WEB_004_005_assignment_after_deadline_and_before_grace_Period.cy.js",
          "test-end-to-end/android-maestro/e2e-tests/002_005_admin_grant_permissions_test.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/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/webapp-cypress/cypress/e2e/WEB_004_007_group_users_add_assignment_and_course_comments.cy.js",
          "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_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/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_multiple_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/webapp-cypress/cypress/e2e/WEB_004_008_group_users_single_assignment_submission_allowed.cy.js",
          "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/android-maestro/e2e-tests.pending/004_002_users_add_course_and_private_comments.yaml",
          "test-end-to-end/test-descriptions/002_004_teacher_or_admin_can remove_people_from_a_course_test_description.md"
        ],
        "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" : "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/test-descriptions/002_010_username_validation_test_description.md"
          },
          {
            "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" : "add",
            "file" : "test-end-to-end/test-descriptions/004_012_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md"
          },
          {
            "editType" : "add",
            "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/test-descriptions/006_001_users_on_same_course_can_send_a_chat_message_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_007_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "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/webapp-cypress/cypress/e2e/WEB_004_003_multiple_submission_possible_for_student.cy.js"
          },
          {
            "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/007_003_users_under_13_can_register_using_parental_approval_link_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_010_group_users_single_assignment_submission_allowed_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/test-descriptions/004_002_users_add_course_comments_test_description.md"
          },
          {
            "editType" : "delete",
            "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/006_002_admin_user_can_send_a_chat_message_to_students_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_013_peer_marking_for_group_assignment_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/webapp-cypress/cypress/e2e/WEB_004_010_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "delete",
            "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-descriptions/005_004_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "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/webapp-cypress/cypress/e2e/WEB_004_005_assignment_grace_period_finished.cy.js"
          },
          {
            "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/004_011_group_users_multiple_assignment_submission_allowed_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md"
          },
          {
            "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/android-maestro/e2e-tests.pending/004_002_users_add_course_and_private_comments.yaml"
          },
          {
            "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/webapp-cypress/cypress/Failed tests/WEB_004_004_assignment_after_deadline_and_before_grace_Period.cy.js"
          },
          {
            "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/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "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.pending/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_007_admin_grant_permissions_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_004_user_registration_dob_field_is_mandatory_test_description.md"
          },
          {
            "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" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_002_user_registration_above_age_13_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" : "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/webapp-cypress/cypress/Failed tests/WEB_005_003_user_add_internal_links_to_post.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_005_admin_grant_permissions_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" : "add",
            "file" : "test-end-to-end/test-descriptions/005_005_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "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/002_006_teacher_or_admin_can remove_people_from_a_course_test_description.md"
          },
          {
            "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" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_012_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/007_009_user_registration_email_field_verification_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" : "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_004_008_group_users_add_assignment_and_course_comments.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_001_admin_add_new_course_and_teacher_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" : "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/004_012_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_003_multiple_submission_possible_for_student_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_grading_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/test-descriptions/004_004_multiple_submission_possible_for_student_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/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/webapp-cypress/cypress/e2e/WEB_004_004_multiple_submission_possible_for_student.cy.js"
          },
          {
            "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" : "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/test-descriptions/005_003_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_009_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/005_006_users_can_delete_post_on_discussion_board_test_description.md"
          },
          {
            "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/005_004_users_can_add_external_links_as_post_on_discussion_board.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" : "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/test-descriptions/002_009_people_add_and_remove_profile_pic_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "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.pending/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_007_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "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" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "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/test-descriptions/004_010_peer_marking_for_individual_assignment_test_description.md"
          },
          {
            "editType" : "add",
            "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/003_001_add_or_edit_course_permission_test_description.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/004_002_users_add_assignment_course_and_private_comments_test_description.md"
          },
          {
            "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.pending/004_010_group_users_single_assignment_submission_allowed.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/005_002_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_007_admin_grant_permissions_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/test-descriptions/004_008_group_users_single_assignment_submission_allowed_test_description.md"
          },
          {
            "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/005_002_users_can_add_post_on_discussion_board_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/webapp-cypress/cypress/e2e/WEB_004_011_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "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" : "add",
            "file" : "test-end-to-end/test-descriptions/004_004_assignment_grace_period_finished_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/test-descriptions/004_011_peer_marking_for_group_assignment_test_description.md"
          },
          {
            "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/android-maestro/e2e-tests.pending/004_002_users_add_course_comments.yaml"
          },
          {
            "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_007_group_users_add_assignment_course_and_private_comments_test_description.md"
          },
          {
            "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/004_003_multiple_submission_possible_for_student.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" : "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"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/004_004_assignment_grace_period_finished_test_description.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/domain/invite/email/mockemailsender/TestEmailRoute.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/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" : "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" : "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/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/email/SendEmailUseCaseImpl.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/MockEmailSender.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"
          }
        ]
      },
      {
        "_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/005_001_add_discussionBoard.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",
          "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/test-descriptions/005_001_add_discussionBoard_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/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_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/003_003_add_existing_content_in_library_as_block_test_description.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/005_001_add_discussionBoard_test_description.md"
          },
          {
            "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/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "delete",
            "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/android-maestro/e2e-tests/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/004_001_assignment_creation_submission_gradebook_test_description.md"
          },
          {
            "editType" : "delete",
            "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/webapp-cypress/cypress/e2e/WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.cy.js"
          }
        ]
      },
      {
        "_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/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.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/ContentEntryDetailAttemptsPersonListScreen.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/ContentEntryDetailAttemptsSessionListScreen.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" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateUsernameFilter.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/mui/components/UstadScreens.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UsernameFilterClientMigration.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.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" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          }
        ]
      },
      {
        "_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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.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" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.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/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/EnrollToCourseFromInviteCodeUseCase.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/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "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/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-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.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" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.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/ContentEntryDetailAttemptsSessionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/PersonAndPictureAndNumAttempts.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/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsPersonListViewModel.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" : [
          "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" : "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" : "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/ext/AppConfigExt.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/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" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.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" : "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" : "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.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/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" : [
          "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",
          "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" : "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"
          },
          {
            "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/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",
          "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/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" : [
          "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/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" : [
          "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/login_download_and_open_content.yaml",
          "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.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/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.pending/005_003_users_can_add_internal_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/android-maestro/e2e-tests/common/clear_state_and_learning_space_new_userflow.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/001_003_admin_can_permanently_delete_the_content_002.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/003_002_add_module_text_blocks_and_perform_indent_hide_delete_actions.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/common/clear_login_and_add_content.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/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/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.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/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_001_assignment_creation_submission_grading.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.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/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/002_005_admin_grant_permissions_test.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.pending/004_011_peer_marking_for_group_assignment.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/e2e-tests/common/enable_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.pending/004_002_users_add_course_and_private_comments.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/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/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_004_assignment_after_deadline_and_before_grace_Period.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/002_003_teacher_record_attendance.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/007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.yaml"
          },
          {
            "editType" : "edit",
            "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/new-student-registration-details.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/login_download_and_open_content.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/005_005_users_can_delete_post_on_discussion_board.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/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/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/001_003_admin_can_permanently_delete_the_content_002.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/webapp-cypress/cypress/support/commands.js"
          },
          {
            "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_010_peer_marking_for_individual_assignment.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.pending/004_007_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "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/clear_state_and_learning_space_existing_userflow.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_005_assignment_grace_period_finished.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/003_005_add_new_content_block_inside_course.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" : "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/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.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"
        ],
        "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-lock.json"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package.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" : "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/entities/xapi/VerbEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbDao.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/ContentEntryDetailAttemptsStatementListScreen.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"
        ],
        "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/ContentEntryDetailAttemptsStatementListScreen.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/ContentEntryDetailAttemptsSessionListScreen.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",
          "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/util/ext/FormattedHost.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/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/password/SavePasswordUseCase.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" : "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"
          },
          {
            "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/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FormattedHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyRequestJsonUseCase.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/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/GetCredentialUseCase.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/domain/password/SavePasswordUseCase.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/signup/SignUpViewModel.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/004_012_teacher_or_admin_can_delete_private_comments_and_course_comments_test_description.md",
          "test-end-to-end/test-descriptions/005_001_add_discussionBoard_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/004_005_assignment_grace_period_finished_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_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_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/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_011_peer_marking_for_group_assignment_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/007_004_user_registration_mandatory_fields_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_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/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/001_002_admin_add_invalid_content_gets_error_message_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/002_001_admin_add_new_course_members_and_set_course_banner_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/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/005_002_users_can_add_post_on_discussion_board_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" : "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/001_007_h5p_and_video_content_compression_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/001_006_admin_can_cancel_content_download_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_003_admin_can_permanently_delete_the_content_002_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_003_user_add_internal_links_to_post_test_description.md"
          },
          {
            "editType" : "edit",
            "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/007_002_user_registration_above_age_13_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/005_002_users_can_add_post_on_discussion_board_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/001_001_admin_can_add_content_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/003_003_add_existing_content_in_library_as_block_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/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_012_teacher_or_admin_can_delete_private_comments_and_course_comments_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/006_001_users_on_same_course_can_send_a_chat_message_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_004_assignment_after_deadline_and_before_grace_period_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/004_011_peer_marking_for_group_assignment_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/006_002_admin_user_can_send_a_chat_message_to_students_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_001_admin_add_new_course_members_and_set_course_banner_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_006_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period_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/005_005_users_can_delete_post_on_discussion_board_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_004_admin_can_move_content_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_007_group_users_add_assignment_course_and_private_comments_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/004_002_users_add_assignment_course_and_private_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" : "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" : [
          "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/ContentEntryDetailAttemptsStatementListViewModel.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/ContentEntryDetailAttemptsSessionListViewModel.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" : "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" : [
          "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" : "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" : "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" : [
          "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_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"
          }
        ]
      },
      {
        "_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/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"
        ],
        "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" : "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/ContentEntryDetailAttemptsSessionListScreen.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/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" : [
          "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",
          "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" : "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" : [
          "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/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"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.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",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadListSortHeader.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/composable/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" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadSortOptionsBottomSheet.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadListSortHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/SortOrderOptionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/SortOrderOption.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadListSortHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/LanguageListFragment.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/SortOrderOptionExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/composable/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-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/SessionTimeAndProgressInfo.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/view/contententry/detailattemptstab/ContentEntryDetailAttemptsStatementListScreen.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-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" : "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" : "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/ContentEntryDetailAttemptsSessionListScreen.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" : "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"
          }
        ]
      },
      {
        "_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_003_005_admin_or_teacher_and_content_via_file.cy.js"
          },
          {
            "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/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" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.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" : "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/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_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" : [
          "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" : "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" : [
          "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" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.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"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_010_content_attempt_list_test.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/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_003-video.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_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_003_add_content_as_block_in_course.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" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_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/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_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "delete",
            "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_001_admin_can_add_content_test_description.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/003_005_course_view_and_modules_can_expand_collapse_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" : "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" : "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_005_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_005_user_able_to_expand_and_collapse_modules.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_003_006_user_able_to_open_text_block.cy.js"
          },
          {
            "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/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/003_006_course_view_and_modules_can_expand_collapse_test_description.md"
          },
          {
            "editType" : "delete",
            "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/README.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" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          }
        ]
      },
      {
        "_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/view/clazz/invitevialink/InviteViaLinkScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/ReportDashboardView.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/ClazzInviteViaLinkScreen.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",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/InviteViaContactScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.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" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/invitevialink/InviteViaLinkViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/InviteViaContactScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/InviteViaLinkScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.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" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/InviteViaLinkScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/invitevialink/InviteViaLinkScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/ReportDashboardView.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/invitevialink/ClazzInviteViaLinkScreen.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/invitevialink/ClazzInviteViaLinkScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviaContact/InviteViaContactViewModel.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"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/JoinWithCodeView.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.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",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.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" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.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/hidekeyboard/HideKeyboardUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/viewmodel/UstadViewModelFun.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.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/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.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/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.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/ext/UmAppDatabaseMigrations.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/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/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/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/SortOrderOptionExt.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/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.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/util/ext/SortOrderOptionExt.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/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "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-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/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/ContentEntryDetailAttemptsPersonListViewModel.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_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/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/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" : [
          "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",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/CheckContactTypeUseCase.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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/App.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json"
        ],
        "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" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/invite/ProcessInviteUseCaseTest.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"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ParseInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/SendClazzInvitesUseCase.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/com/ustadmobile/view/clazz/inviteviacontact/ClazzInviteViaContactScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/inviteviacontact/ClazzInviteViaContactViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ContactToServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesUseCaseServerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/206.json"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ProcessInviteRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/SendClazzInvitesRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.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/domain/invite/SendClazzInvitesUseCaseSendToServerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonClientDomainModule.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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/detail/PersonDetailScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/detail/PersonDetailScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/PersonIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "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" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/PersonIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonAuth2.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/person/detail/PersonDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonPasskeyDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuth2Dao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.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/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/manageaccount/ManageAccountScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/passkey/PasskeyListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/manageaccount/ManageAccountScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/passkey/PasskeyListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_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" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/204.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.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/epubcontent/EpubContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.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" : "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" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.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" : "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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzenrolment/clazzmemberlist/ClazzMemberListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.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" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzInviteDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/invite/ResendInviteUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.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" : "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" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadProgressBarWithLabel.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/StatementDaoCommon.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/ContentEntryDetailAttemptsSessionListScreen.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/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_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" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "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/StatementDaoCommon.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/ContentEntryDetailAttemptsPersonListViewModel.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/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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsPersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/PersonAndPictureAndNumAttemptsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/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/StatementSummaryEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntityExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsListSessionListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/SessionTimeAndProgressInfoExt.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" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useFormattedDateAndTime.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsSessionListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementSummaryEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsListSessionListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/PersonAndPictureAndNumAttemptsExt.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/mui/components/UstadProgressBarWithLabel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/ContentEntryDetailAttemptsSessionListScreen.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/view/contententry/detailattemptstab/ContentEntryDetailAttemptsPersonListScreen.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/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",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/StatementEntityAndVerbExt.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" : "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/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.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/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/VerbEntityAndName.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/VerbEntityAndNameExt.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" : [
          "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_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" : [
          "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" : "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/StatementEntityAndVerbListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.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/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndVerb.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/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_001-h5p.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_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_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-ktor-server/.attach_pid10100",
          "app-react/src/jsMain/resources/pdf-js/web/viewer.html"
        ],
        "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" : "delete",
            "file" : "app-ktor-server/.attach_pid10100"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/.attach_pid44877"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/viewer.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDaoCommon.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.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" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDaoCommon.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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.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/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.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/xapi/ActivityInteractionEntity.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/likert-response-statement.json"
          },
          {
            "editType" : "edit",
            "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/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt"
          },
          {
            "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/jvmTest/resources/com/ustadmobile/core/domain/xapi/performance-response-statement.json"
          },
          {
            "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/sequencing-response-statement.json"
          }
        ]
      },
      {
        "_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/jvmTest/resources/com/ustadmobile/core/domain/xapi/true-false-response-statement.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt"
        ],
        "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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailattempttab/ContentEntryDetailAttemptsStatementListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/true-false-response-statement.json"
          },
          {
            "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/domain/xapi/formatresponse/FormatStatementResponseUseCase.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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.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" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement-invalid-response.json"
          },
          {
            "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/ActivityLangMapEntryDao.kt"
          },
          {
            "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" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.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/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" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCase.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"
        ],
        "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" : "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"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailattemptstab/StatementEntityAndVerbListItem.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_002-epub.yaml",
          "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_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_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"
          },
          {
            "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_005_using_link.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/.attach_pid45175",
          "core/.attach_pid10393"
        ],
        "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_pid45175"
          },
          {
            "editType" : "delete",
            "file" : "core/.attach_pid10393"
          }
        ]
      },
      {
        "_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/impl/di/CommonDomainModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailattemptlisttab/ContentEntryDetailAttemptsStatementListViewModel.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/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/impl/di/CommonDomainModule.kt"
          },
          {
            "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"
          }
        ]
      },
      {
        "_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" : "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/android-maestro/e2e-tests/003_005_add_new_content_block_inside_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",
          "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/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/password/SavePasswordUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/SavePersonPasskeyUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.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/UserPasskeyChallenge.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/207.json"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/UserPasskeyChallenge.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.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/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CreatePasskeyParams.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/password/SavePasswordUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyParams.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/person/learningspacelist/LearningSpaceListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PassKeySignInData.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"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCaseImpl.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/PassKeySignInData.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCaseTest.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/account/UstadAccountManager.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/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/CredentialResult.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/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/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/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/passkey/PasskeyVerifyResult.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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.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",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getmetadata/ContentEntryGetMetadataViewModel.kt",
          "app-android/src/main/AndroidManifest.xml",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "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/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJvm.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/mui/components/Header.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/navigation/GetDefaultDestinationUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppBar.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingUserTypeViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticatorSelectionCriteria.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.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/viewmodel/contententry/list/ContentEntryListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/account/CheckRegistrationAllowedUseCase.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" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.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/app/AppBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.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/redirect/RedirectViewModel.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/viewmodel/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-android/assetlinks.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.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/contententry/detail/ContentEntryDetailViewModel.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/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          },
          {
            "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/mui/components/Header.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModelTest.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" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/config/SystemUrlConfig.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticatorSelectionCriteria.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.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/domain/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/AddAccountSelectNewOrExistingUserTypeViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/NavControllerExtTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/learningspace/GoToLearningSpaceUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/getmetadata/ContentEntryGetMetadataViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "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/PublicKeyCredentialParameters.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModelTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.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/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.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/domain/credentials/passkey/model/PublicKeyCredentialRpEntity.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/addaccount/AddAccountSelectNewOrExistingUserTypeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/navigation/GetDefaultDestinationUseCase.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/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/PasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/newuser/AddAccountSelectNewOrExistingUserTypeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectusertype/AddAccountSelectUserTypeViewModel.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/person/learningspacelist/LearningSpaceListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
        ],
        "commitId" : "58ab168888d23742e6f113f1b58e217659ab32d2",
        "timestamp" : 1743697077000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "1-ClazzDetailOverviewViewModel.kt : Have added a block which gets the canAddNewCourse value.\u000a2-ClazzDetailOverViewScreen.kt :Adding if condition to show Copy button if have permission of to add new course\u000a",
        "date" : "2025-04-03 21:47:57 +0530",
        "id" : "58ab168888d23742e6f113f1b58e217659ab32d2",
        "msg" : "1-ClazzDetailOverviewViewModel.kt : Have added a block which gets the canAddNewCourse value.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
        ],
        "commitId" : "ce998c7a54cccb6b051e1e5c8a57dd8ddfcc06b7",
        "timestamp" : 1743697348000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactor\u000a",
        "date" : "2025-04-03 21:52:28 +0530",
        "id" : "ce998c7a54cccb6b051e1e5c8a57dd8ddfcc06b7",
        "msg" : "Refactor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
        ],
        "commitId" : "927692f6421ad0a5c0323621b5fd13fdfe8fcf36",
        "timestamp" : 1743697431000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactor\u000a",
        "date" : "2025-04-03 21:53:51 +0530",
        "id" : "927692f6421ad0a5c0323621b5fd13fdfe8fcf36",
        "msg" : "Refactor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
        ],
        "commitId" : "d5650b6ab51f8922a1e455d0e41bfacbc052c829",
        "timestamp" : 1743707181000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "1- Passing Enum (Copy and Edit) from ClazzDetailOverviewViewModel.kt\u000a2- Getting it in ClazzEditViewModel.kt\u000a3- depending on clazzAction (COPY,EDIT,etc)  setting app bar title and  the default clazzName\u000a",
        "date" : "2025-04-04 00:36:21 +0530",
        "id" : "d5650b6ab51f8922a1e455d0e41bfacbc052c829",
        "msg" : "1- Passing Enum (Copy and Edit) from ClazzDetailOverviewViewModel.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/UstadView.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "09ceccb9f1811dea7cc91b212900eef98ed37289",
        "timestamp" : 1743707545000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "1- Made changes in function save according to the action triggered\u000a",
        "date" : "2025-04-04 00:42:25 +0530",
        "id" : "09ceccb9f1811dea7cc91b212900eef98ed37289",
        "msg" : "1- Made changes in function save according to the action triggered",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "daa6da7935cfb888133d86909b11cba35c92e180",
        "timestamp" : 1743744607000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "commented code removed\u000a",
        "date" : "2025-04-04 11:00:07 +0530",
        "id" : "daa6da7935cfb888133d86909b11cba35c92e180",
        "msg" : "commented code removed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "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_007_005_student_registered_by_admin_or_teacher_dont_need_parentConsent.cy.js",
          "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/002_006_admin_or_teacher_copy_existing_course_test.yaml",
          "test-end-to-end/README.md",
          "test-end-to-end/webapp-cypress/package.json",
          "test-end-to-end/android-maestro/e2e-tests/common/setDate.js",
          "test-end-to-end/android-maestro/e2e-tests/common/erase_text.yaml",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_006_admin_or_teacher_copy_a_course.cy.js",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_all_user_add_post_and_reply.cy.js",
          "test-end-to-end/test-descriptions/002_006_admin_or_teacher_can_copy_a_course_test_description.md",
          "test-end-to-end/webapp-cypress/package-lock.json"
        ],
        "commitId" : "20cf3b28e59bd250bb2218bb3c68a51f94ff0eeb",
        "timestamp" : 1743761118000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "merged test files\u000a",
        "date" : "2025-04-04 15:35:18 +0530",
        "id" : "20cf3b28e59bd250bb2218bb3c68a51f94ff0eeb",
        "msg" : "merged test files",
        "paths" : [
          {
            "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/android-maestro/e2e-tests/common/erase_text.yaml"
          },
          {
            "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/package.json"
          },
          {
            "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" : "add",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_006_admin_or_teacher_copy_a_course.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.md"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/package-lock.json"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_006_admin_or_teacher_copy_existing_course_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/setDate.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_005_002_all_user_add_post_and_reply.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-descriptions/002_006_admin_or_teacher_can_copy_a_course_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "82ac805c77fae3bbc44bf8b53eb96bf120987a97",
        "timestamp" : 1744001920000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "string changed\u000a",
        "date" : "2025-04-07 10:28:40 +0530",
        "id" : "82ac805c77fae3bbc44bf8b53eb96bf120987a97",
        "msg" : "string changed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "f895d9a2343f48b73dd6db5fc629defb6009e6cb",
        "timestamp" : 1744012569000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "naviagtion solved\u000a",
        "date" : "2025-04-07 13:26:09 +0530",
        "id" : "f895d9a2343f48b73dd6db5fc629defb6009e6cb",
        "msg" : "naviagtion solved",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.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" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "6221278ac7d5f30aff5d9c15b203b0406f614d58",
        "timestamp" : 1744872460000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress test update for 002_001 copy course\u000a",
        "date" : "2025-04-17 10:47:40 +0400",
        "id" : "6221278ac7d5f30aff5d9c15b203b0406f614d58",
        "msg" : "Cypress test update for 002_001 copy course",
        "paths" : [
          {
            "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/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "939f5e538a252fa44b2bc092c9241d10ac79e9de",
        "timestamp" : 1744876060000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress test -002_001 copy course - removed click on Library command\u000a",
        "date" : "2025-04-17 11:47:40 +0400",
        "id" : "939f5e538a252fa44b2bc092c9241d10ac79e9de",
        "msg" : "Cypress test -002_001 copy course - removed click on Library command",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js"
        ],
        "commitId" : "5845b1f610a0ec17d7ec292b9a29fdb1f2259e3f",
        "timestamp" : 1744880338000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Cypress test -added assignment test\u000a",
        "date" : "2025-04-17 12:58:58 +0400",
        "id" : "5845b1f610a0ec17d7ec292b9a29fdb1f2259e3f",
        "msg" : "Cypress test -added assignment test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "aead0fb8e91ee81030d38cea52a969e21c1ee649",
        "timestamp" : 1744880852000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Fixed-\u000a#1079\u000a",
        "date" : "2025-04-17 14:37:32 +0530",
        "id" : "aead0fb8e91ee81030d38cea52a969e21c1ee649",
        "msg" : "Fixed-",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/002_001_admin_add_new_course_members_and_set_course_banner_test_description.md",
          "test-end-to-end/README.md",
          "test-end-to-end/test-descriptions/004_011_peer_marking_for_group_assignment_test_description.md"
        ],
        "commitId" : "8ef6b77c9c2a9a6cbf82fcb410bfe58dca45cfcc",
        "timestamp" : 1744882693000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated test descriptions\u000a",
        "date" : "2025-04-17 13:38:13 +0400",
        "id" : "8ef6b77c9c2a9a6cbf82fcb410bfe58dca45cfcc",
        "msg" : "updated test descriptions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/README.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_011_peer_marking_for_group_assignment_test_description.md"
          }
        ]
      },
      {
        "_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" : [
          "test-end-to-end/android-maestro/e2e-tests/002_006_admin_or_teacher_copy_existing_course_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "test-end-to-end/test-descriptions/002_006_admin_or_teacher_can_copy_a_course_test_description.md",
          "test-end-to-end/android-maestro/e2e-tests.pending/004_011_peer_marking_for_group_assignment.yaml",
          "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/cypress/e2e/WEB_002_006_admin_or_teacher_copy_a_course.cy.js"
        ],
        "commitId" : "ecd3268953eccdb7c3c5c55421f903b79c8b55fa",
        "timestamp" : 1744899198000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated maestro tests - 002_001 and 004_011\u000a",
        "date" : "2025-04-17 18:13:18 +0400",
        "id" : "ecd3268953eccdb7c3c5c55421f903b79c8b55fa",
        "msg" : "updated maestro tests - 002_001 and 004_011",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_006_admin_or_teacher_copy_existing_course_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_006_admin_or_teacher_copy_a_course.cy.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-descriptions/002_006_admin_or_teacher_can_copy_a_course_test_description.md"
          },
          {
            "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/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "02a3cb99de5e1380fb4795821363bc4dc92fd97e",
        "timestamp" : 1744908288000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Made it group to individual\u000a",
        "date" : "2025-04-17 22:14:48 +0530",
        "id" : "02a3cb99de5e1380fb4795821363bc4dc92fd97e",
        "msg" : "Made it group to individual",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js"
        ],
        "commitId" : "07ee046ccd7e69450effb3789bd81507079da2ee",
        "timestamp" : 1744958697000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Test checking\u000a",
        "date" : "2025-04-18 12:14:57 +0530",
        "id" : "07ee046ccd7e69450effb3789bd81507079da2ee",
        "msg" : "Test checking",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js"
          }
        ]
      },
      {
        "_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/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/passkey/PasskeyListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.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/account/UstadAccountManager.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"
          },
          {
            "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/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.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" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "f19154b926ddb857ec988ac6b5ddc2c9acf7aa94",
        "timestamp" : 1745348780000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Moving copy logic to CopyCourseUseCase.kt\u000a",
        "date" : "2025-04-23 00:36:20 +0530",
        "id" : "f19154b926ddb857ec988ac6b5ddc2c9acf7aa94",
        "msg" : "Moving copy logic to CopyCourseUseCase.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.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/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "2a2ebd36022519c05658b1cfe85c270be6172004",
        "timestamp" : 1745385748000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Course Picture\u000a",
        "date" : "2025-04-23 10:52:28 +0530",
        "id" : "2a2ebd36022519c05658b1cfe85c270be6172004",
        "msg" : "Course Picture",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
        ],
        "commitId" : "8b223e2947ee8b065d8fb4fe12873587467c4474",
        "timestamp" : 1745386384000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Clazz Name set Copy of -\u000a",
        "date" : "2025-04-23 11:03:04 +0530",
        "id" : "8b223e2947ee8b065d8fb4fe12873587467c4474",
        "msg" : "Clazz Name set Copy of -",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "114ce4ff2f9204ca3e1893cb01a2c31ab4f69956",
        "timestamp" : 1745387932000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Clazz Name set Copy of -\u000a",
        "date" : "2025-04-23 11:28:52 +0530",
        "id" : "114ce4ff2f9204ca3e1893cb01a2c31ab4f69956",
        "msg" : "Clazz Name set Copy of -",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "175855b37094ce9d062f96bcd3df6bda20a1b5dd",
        "timestamp" : 1745390284000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Course Image set when saving.\u000a",
        "date" : "2025-04-23 12:08:04 +0530",
        "id" : "175855b37094ce9d062f96bcd3df6bda20a1b5dd",
        "msg" : "Course Image set when saving.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "92f4bc7f23bfbe3710adc1ec9e0be1127375c9cc",
        "timestamp" : 1745394601000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Clazz name removed\u000a",
        "date" : "2025-04-23 13:20:01 +0530",
        "id" : "92f4bc7f23bfbe3710adc1ec9e0be1127375c9cc",
        "msg" : "Clazz name removed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
        ],
        "commitId" : "8717819da2d09f1aba75223109a57341d4d61fa0",
        "timestamp" : 1745395197000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Clazz name removed\u000a",
        "date" : "2025-04-23 13:29:57 +0530",
        "id" : "8717819da2d09f1aba75223109a57341d4d61fa0",
        "msg" : "Clazz name removed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "52dcc05e34fb86bdc1bb5651136c7920c38756a0",
        "timestamp" : 1745405854000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Clazz name testes\u000a",
        "date" : "2025-04-23 16:27:34 +0530",
        "id" : "52dcc05e34fb86bdc1bb5651136c7920c38756a0",
        "msg" : "Clazz name testes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "e4822c773b18e0ec636e80a07723702b4f8993c4",
        "timestamp" : 1745408061000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Added assertion on cypress test\u000a",
        "date" : "2025-04-23 15:34:21 +0400",
        "id" : "e4822c773b18e0ec636e80a07723702b4f8993c4",
        "msg" : "Added assertion on cypress test",
        "paths" : [
          {
            "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_011_peer_marking_for_group_assignment.cy.js"
          }
        ]
      },
      {
        "_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/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
        ],
        "commitId" : "636a25032b5509410441bd7cde045bccd9ae5d66",
        "timestamp" : 1745419461000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Assignment Copied and CourseBlockAndEditEntities set\u000a",
        "date" : "2025-04-23 20:14:21 +0530",
        "id" : "636a25032b5509410441bd7cde045bccd9ae5d66",
        "msg" : "Assignment Copied and CourseBlockAndEditEntities set",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "506861ad45d7942ced94e522dc3827c69c075326",
        "timestamp" : 1745423508000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Test fix\u000a",
        "date" : "2025-04-23 21:21:48 +0530",
        "id" : "506861ad45d7942ced94e522dc3827c69c075326",
        "msg" : "Test fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
        ],
        "commitId" : "4131af17891896c1f247c4f12ddc5ab36379a0de",
        "timestamp" : 1745428487000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "when copying set the group id\u000a",
        "date" : "2025-04-23 22:44:47 +0530",
        "id" : "4131af17891896c1f247c4f12ddc5ab36379a0de",
        "msg" : "when copying set the group id",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
        ],
        "commitId" : "058fd68606f3df448150f87b565055ff5cf491eb",
        "timestamp" : 1745477134000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Update fetching of CourseBlock\u000a",
        "date" : "2025-04-24 12:15:34 +0530",
        "id" : "058fd68606f3df448150f87b565055ff5cf491eb",
        "msg" : "Update fetching of CourseBlock",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          }
        ]
      },
      {
        "_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" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "app-android/src/main/res/values/assets_statement_values.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "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" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_011_peer_marking_for_group_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_002_001_admin_add_new_course_and_teacher.cy.js"
        ],
        "commitId" : "e8a1f14d593a4d3f34446584917a37bc4858032b",
        "timestamp" : 1745502552000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "assignment change and removed wait for cypress test\u000a",
        "date" : "2025-04-24 17:49:12 +0400",
        "id" : "e8a1f14d593a4d3f34446584917a37bc4858032b",
        "msg" : "assignment change and removed wait for cypress test",
        "paths" : [
          {
            "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_011_peer_marking_for_group_assignment.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
        ],
        "commitId" : "7412a2c5853fccda961c9905fbf0a9ae7d65cbda",
        "timestamp" : 1745504055000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "All fixes done\u000a",
        "date" : "2025-04-24 19:44:15 +0530",
        "id" : "7412a2c5853fccda961c9905fbf0a9ae7d65cbda",
        "msg" : "All fixes done",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.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" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/Module.md"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/list/AccountListViewModelTest.kt"
          },
          {
            "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/credentials/GetCredentialUseCase.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/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/password/SavePasswordUseCaseImpl.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/impl/config/UstadBuildConfig.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/username/CreateCredentialUsernameUseCase.kt"
          },
          {
            "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/ParseCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
        ],
        "commitId" : "fc1805ee53985f5ace33e7015a6c8ccb5e6c6390",
        "timestamp" : 1745516046000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactoring\u000a",
        "date" : "2025-04-24 23:04:06 +0530",
        "id" : "fc1805ee53985f5ace33e7015a6c8ccb5e6c6390",
        "msg" : "Refactoring",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CopyCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.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/e2e/WEB_007_004_username_validation_and_add_profile_pic.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/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" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
          },
          {
            "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"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePasskeyRequestJsonServerUseCase.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/TestServerController.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/FindFreePort.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" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/README.md"
          },
          {
            "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/FindFreePort.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/username/GetUsernameSuggestionUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonClientDomainModule.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/username/UsernameSuggestionRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCaseTest.kt"
        ],
        "commitId" : "b8ec4eee1c3ee93a5d6fda7459e87ed74330df59",
        "timestamp" : 1747044565000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "username suggestions added\u000a",
        "date" : "2025-05-12 15:39:25 +0530",
        "id" : "b8ec4eee1c3ee93a5d6fda7459e87ed74330df59",
        "msg" : "username suggestions added",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/username/GetUsernameSuggestionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpScreen.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/impl/di/CommonClientDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/username/UsernameSuggestionRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCase.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/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCaseTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientExtensionResults.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Prf.kt",
          "core/build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/PasskeyWebAuthNResponse.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Response.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientDataJSON.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
        ],
        "commitId" : "ca2dee9c7dab5194773a7eed9900c9f350b8a7d0",
        "timestamp" : 1747067619000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "Kotlinx Serialization Classes for WebAuthn Passkey Response\u000a",
        "date" : "2025-05-12 22:03:39 +0530",
        "id" : "ca2dee9c7dab5194773a7eed9900c9f350b8a7d0",
        "msg" : "Kotlinx Serialization Classes for WebAuthn Passkey Response",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Response.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "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/webAuthn/PasskeyWebAuthNResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientExtensionResults.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "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/domain/credentials/passkey/webAuthn/Prf.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientDataJSON.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Response.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
        ],
        "commitId" : "e609f9092db16c9d330cadbeddc9cfcc04328309",
        "timestamp" : 1747119129000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "changes in GetCredentialUseCaseImpl\u000a",
        "date" : "2025-05-13 12:22:09 +0530",
        "id" : "e609f9092db16c9d330cadbeddc9cfcc04328309",
        "msg" : "changes in GetCredentialUseCaseImpl",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Response.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "fb0b752e3e0d8563258c94212772d229e28ae51c",
        "timestamp" : 1747136230000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Updated Android Gradle Plugin to version 8.10.0\u000a",
        "date" : "2025-05-13 15:37:10 +0400",
        "id" : "fb0b752e3e0d8563258c94212772d229e28ae51c",
        "msg" : "Updated Android Gradle Plugin to version 8.10.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_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" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpEnterUsernamePasswordScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignupEnterUsernamePasswordViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.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/CreatePasskeyParams.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpEnterUsernamePasswordScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
        ],
        "commitId" : "d1dbaa87d84f67b23be1621c04d73aacc1d6f59d",
        "timestamp" : 1747147865000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "CreatePasskey use case should be returning the webauthn response\u000aCreating a passkey - use case parameter should be only the username\u000a",
        "date" : "2025-05-13 20:21:05 +0530",
        "id" : "d1dbaa87d84f67b23be1621c04d73aacc1d6f59d",
        "msg" : "CreatePasskey use case should be returning the webauthn response",
        "paths" : [
          {
            "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/credentials/SavePersonPasskeyUseCase.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/domain/credentials/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyParams.kt"
          },
          {
            "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/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpEnterUsernamePasswordScreen.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/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/SignUpEnterUsernamePasswordScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/username/helper/UsernameErrorException.kt"
        ],
        "commitId" : "4e53f267c642ec2fafa86d6573314f70ff8d1019",
        "timestamp" : 1747209225000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "added UsernameSuggestionUseCase\u000a",
        "date" : "2025-05-14 13:23:45 +0530",
        "id" : "4e53f267c642ec2fafa86d6573314f70ff8d1019",
        "msg" : "added UsernameSuggestionUseCase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/username/helper/UsernameErrorException.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/PasskeyWebAuthNResponse.kt"
        ],
        "commitId" : "17c2b6052f5542c37d9fc8aa2c2e7ad40dc50d19",
        "timestamp" : 1747215895000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "spec added\u000a",
        "date" : "2025-05-14 15:14:55 +0530",
        "id" : "17c2b6052f5542c37d9fc8aa2c2e7ad40dc50d19",
        "msg" : "spec added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/PasskeyWebAuthNResponse.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonPasskey.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
        ],
        "commitId" : "9e20fad4ead4cdf4116aef872bd764dd65832c76",
        "timestamp" : 1747303199000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor passkey rpId and user id handling:\u000a\u000aUpdate CreatePublicKeyCredentialCreationOptionsJsonUseCase - set the user handle (user id) as passkeyUid@learningspace - as per the spec avoiding the use of any personal information, but including the server url.\u000a\u000aRemove rpId from PersonPasskey (this is system wide, not a per entity variable).\u000a",
        "date" : "2025-05-15 13:59:59 +0400",
        "id" : "9e20fad4ead4cdf4116aef872bd764dd65832c76",
        "msg" : "Refactor passkey rpId and user id handling:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonPasskey.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_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/credentials/passkey/webAuthn/Response.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyParams.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationResponseJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.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/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsClientOutputsJSON.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsPRFOutputsJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticatorAssertionResponseJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientExtensionResults.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Prf.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/PasskeyWebAuthNResponse.kt",
          "core/build.gradle",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/207.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientDataJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
        ],
        "commitId" : "ee491d68ca69202c48738d7ad4d44ce5a1ed0648",
        "timestamp" : 1747306693000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "changed the name of PasskeyWebAuthNResponse according to spec\u000achange in the flow of signin with passkey\u000a",
        "date" : "2025-05-15 16:28:13 +0530",
        "id" : "ee491d68ca69202c48738d7ad4d44ce5a1ed0648",
        "msg" : "changed the name of PasskeyWebAuthNResponse according to spec",
        "paths" : [
          {
            "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/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Response.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/PasskeyWebAuthNResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsClientOutputsJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementResponseUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/formatresponse/FormatStatementAuthenticatorAssertionResponseJSONUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientDataJSON.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/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientExtensionResults.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/Prf.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/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyParams.kt"
          },
          {
            "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/GetCredentialUseCaseImpl.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/credentials/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/207.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsClientOutputsJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticationResponseJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/ClientDataJSON.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsPRFOutputsJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticatorAssertionResponseJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationResponseJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientDataJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
        ],
        "commitId" : "e9652b14275ff728a8ebecc75e96dfdc7833b038",
        "timestamp" : 1747308378000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move webauthn model into model package.\u000a",
        "date" : "2025-05-15 15:26:18 +0400",
        "id" : "e9652b14275ff728a8ebecc75e96dfdc7833b038",
        "msg" : "Move webauthn model into model package.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/ClientDataJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/ClientDataJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/webAuthn/AuthenticationExtensionsClientOutputsJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.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/domain/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/DecodeUserHandleUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/passkey/EncodeDecodeUserHandleUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/DecodeUserHandleUseCase.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/EncodeUserHandleUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/EncodeUserHandleUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
        ],
        "commitId" : "6d684ccb65a0e58f951a3cdcb1849ecfc6277fd1",
        "timestamp" : 1747382458000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "user handle encoding decoding added with test\u000a",
        "date" : "2025-05-16 13:30:58 +0530",
        "id" : "6d684ccb65a0e58f951a3cdcb1849ecfc6277fd1",
        "msg" : "user handle encoding decoding added with test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/passkey/EncodeDecodeUserHandleUseCaseTest.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/credentials/passkey/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/DecodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/EncodeUserHandleUseCaseImpl.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/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/DecodeUserHandleUseCaseImpl.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/passkey/EncodeDecodeUserHandleUseCaseTest.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/EncodeUserHandleUseCaseImpl.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyRoute.kt"
        ],
        "commitId" : "ccb7cbae52534cce1dad19c3f1d8742e23f5450e",
        "timestamp" : 1747395377000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "clean up encoding decoding\u000a",
        "date" : "2025-05-16 17:06:17 +0530",
        "id" : "ccb7cbae52534cce1dad19c3f1d8742e23f5450e",
        "msg" : "clean up encoding decoding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/EncodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/DecodeUserHandleUseCaseImpl.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/passkey/verify/VerifySignInWithPasskeyRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/passkey/EncodeDecodeUserHandleUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
        ],
        "commitId" : "908588cb2f8f04ee00d1f57167b511204af60c9d",
        "timestamp" : 1747407534000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix SavePersonPasskeyUseCase compilation\u000a",
        "date" : "2025-05-16 18:58:54 +0400",
        "id" : "908588cb2f8f04ee00d1f57167b511204af60c9d",
        "msg" : "Fix SavePersonPasskeyUseCase compilation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
        ],
        "commitId" : "40e3bfcc22f39905980d076f28f4b223d2fa7f5a",
        "timestamp" : 1747640180000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "username issue fixed for web\u000a",
        "date" : "2025-05-19 13:06:20 +0530",
        "id" : "40e3bfcc22f39905980d076f28f4b223d2fa7f5a",
        "msg" : "username issue fixed for web",
        "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"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
        ],
        "commitId" : "12bbd2fdc6e847bf26d9e8a3622f5e4f22196a0e",
        "timestamp" : 1747758320000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix AbstractAppActivity compilation and remove CreatePasskeyRequestJsonUseCase from desktop and web DI.\u000a",
        "date" : "2025-05-20 20:25:20 +0400",
        "id" : "12bbd2fdc6e847bf26d9e8a3622f5e4f22196a0e",
        "msg" : "Fix AbstractAppActivity compilation and remove CreatePasskeyRequestJsonUseCase from desktop and web DI.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "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/GetCredentialUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyRoute.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCaseTest.kt"
        ],
        "commitId" : "f7c5868fc4f88bf520b5564e93464c6c0484de89",
        "timestamp" : 1747812756000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Minor tidyup - remove commented out code etc.\u000a",
        "date" : "2025-05-21 11:32:36 +0400",
        "id" : "f7c5868fc4f88bf520b5564e93464c6c0484de89",
        "msg" : "Minor tidyup - remove commented out code etc.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/passkey/verify/VerifySignInWithPasskeyRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/username/UsernameSuggestionUseCaseTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "core/build.gradle"
        ],
        "commitId" : "5c8f8cabb797b2e0e4eea2a0412d662be67317ed",
        "timestamp" : 1747813134000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove unused json codegen dependency.\u000a",
        "date" : "2025-05-21 11:38:54 +0400",
        "id" : "5c8f8cabb797b2e0e4eea2a0412d662be67317ed",
        "msg" : "Remove unused json codegen dependency.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/dist/ustad-server.conf"
        ],
        "commitId" : "d57678af56dff29ee71887700ef6ca8f00e5cc9e",
        "timestamp" : 1747821863000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ustad-server.conf in distribution version to avoid setting an incorrect .well-known directory.\u000a",
        "date" : "2025-05-21 14:04:23 +0400",
        "id" : "d57678af56dff29ee71887700ef6ca8f00e5cc9e",
        "msg" : "Fix ustad-server.conf in distribution version to avoid setting an incorrect .well-known directory.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/dist/ustad-server.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/README.md"
        ],
        "commitId" : "395718220ee6b1f9df4edc3391ea623afa4e6dc0",
        "timestamp" : 1747824646000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add documentation on checking asset links.\u000a",
        "date" : "2025-05-21 14:50:46 +0400",
        "id" : "395718220ee6b1f9df4edc3391ea623afa4e6dc0",
        "msg" : "Add documentation on checking asset links.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/README.md"
        ],
        "commitId" : "428637e0874376b8a573f7b5fae94fb635b43044",
        "timestamp" : 1747824736000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update documentation on checking asset links.\u000a",
        "date" : "2025-05-21 14:52:16 +0400",
        "id" : "428637e0874376b8a573f7b5fae94fb635b43044",
        "msg" : "Update documentation on checking asset links.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/resources/application.conf",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_007b_admin_send_group_invitation_to_join_course_via_email.cy.js",
          "test-end-to-end/test-files/content/Ustad_Unenrolled_Teacher_And__Student_list.csv",
          "test-end-to-end/webapp-cypress/cypress/support/commands.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_007a_admin_send_group_invitation_to_join_course_via_username.cy.js"
        ],
        "commitId" : "ed31389eaa9e5b2f4f2258c63b35cb9d2707565c",
        "timestamp" : 1747899268000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "invite user e2e and username test added to cypress tests\u000a",
        "date" : "2025-05-22 11:34:28 +0400",
        "id" : "ed31389eaa9e5b2f4f2258c63b35cb9d2707565c",
        "msg" : "invite user e2e and username test added to cypress tests",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/Ustad_Unenrolled_Teacher_And__Student_list.csv"
          },
          {
            "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_007b_admin_send_group_invitation_to_join_course_via_email.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          },
          {
            "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/webapp-cypress/cypress/e2e/WEB_007_007a_admin_send_group_invitation_to_join_course_via_username.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml",
          "test-end-to-end/android-maestro/e2e-tests/common/fetch_invitation_link.js",
          "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/common/clear_state_and_learning_space_new_userflow.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/common/clear_state_and_learning_space_existing_userflow.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/007_007a_admin_send_group_invitation_to_join_course_via_username.yaml"
        ],
        "commitId" : "f772f0b0e8019b5cc391e9080ff11a8dfa147a15",
        "timestamp" : 1747921076000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "invite user e2e and username test added to maestro tests\u000a",
        "date" : "2025-05-22 17:37:56 +0400",
        "id" : "f772f0b0e8019b5cc391e9080ff11a8dfa147a15",
        "msg" : "invite user e2e and username test added to maestro tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_007a_admin_send_group_invitation_to_join_course_via_username.yaml"
          },
          {
            "editType" : "edit",
            "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_002b_user_registration_above_age_13_join_learning_space_username_password.yaml"
          },
          {
            "editType" : "edit",
            "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/common/clear_state_and_learning_space_new_userflow.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/fetch_invitation_link.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/ClientDataJSON.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
        ],
        "commitId" : "cd425745eedf6073814aaa896f195531d1fa1704",
        "timestamp" : 1747925093000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "google password manager issues fixed\u000a",
        "date" : "2025-05-22 20:14:53 +0530",
        "id" : "cd425745eedf6073814aaa896f195531d1fa1704",
        "msg" : "google password manager issues fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/SavePersonPasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/ClientDataJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/login/LoginScreen.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/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
        ],
        "commitId" : "f282bc0374de2d68d15cc15db4537beb6fc74c7f",
        "timestamp" : 1748333394000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "google password manager signing in issues fixed\u000afor github issue\u000ahttps://github.com/UstadMobile/UstadMobile/issues/1103\u000a",
        "date" : "2025-05-27 13:39:54 +0530",
        "id" : "f282bc0374de2d68d15cc15db4537beb6fc74c7f",
        "msg" : "google password manager signing in issues fixed",
        "paths" : [
          {
            "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/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/addaccount/AddAccountSelectNewOrExistingScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.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/account/UstadAccountManager.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/domain/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml"
        ],
        "commitId" : "963ab08ff4b7b2bfb016ddf7f62f03e1e74655e9",
        "timestamp" : 1748511828000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro - stopserver uncommented\u000a",
        "date" : "2025-05-29 13:43:48 +0400",
        "id" : "963ab08ff4b7b2bfb016ddf7f62f03e1e74655e9",
        "msg" : "maestro - stopserver uncommented",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
        ],
        "commitId" : "5bb2cba42344432e4bb038ded0a7fd9572b9bc0d",
        "timestamp" : 1748517894000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : " SignUpScreen bug fix for issue\u000a Create account screen -Error message persists after all mandatory fields are completed #1100\u000a",
        "date" : "2025-05-29 16:54:54 +0530",
        "id" : "5bb2cba42344432e4bb038ded0a7fd9572b9bc0d",
        "msg" : "SignUpScreen bug fix for issue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/signup/SignUpScreen.kt"
          }
        ]
      },
      {
        "_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"
        ],
        "commitId" : "0199499484fd02169778510bd63af89d15c2e4b8",
        "timestamp" : 1748522714000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated cypress - mandatory field check\u000a",
        "date" : "2025-05-29 16:45:14 +0400",
        "id" : "0199499484fd02169778510bd63af89d15c2e4b8",
        "msg" : "updated cypress - mandatory field check",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/clear_login_and_add_content.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/common/download_file_via_browser.yaml"
        ],
        "commitId" : "fda3486d44d2f6a9b268e5def6c37d6247683acc",
        "timestamp" : 1748524861000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated maestro - added max tries on downloads\u000a",
        "date" : "2025-05-29 17:21:01 +0400",
        "id" : "fda3486d44d2f6a9b268e5def6c37d6247683acc",
        "msg" : "updated maestro - added max tries on downloads",
        "paths" : [
          {
            "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/007_001_admin_enable_or_disable_user_registration.yaml"
          },
          {
            "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.pending/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml"
        ],
        "commitId" : "c3514161121d8e1ee848cc72db9b78a54036edca",
        "timestamp" : 1748539457000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "maestro - 007_007b_admin_send_group_invitation_to_join_course_via_email.yaml moved to pending folder\u000a",
        "date" : "2025-05-29 21:24:17 +0400",
        "id" : "c3514161121d8e1ee848cc72db9b78a54036edca",
        "msg" : "maestro - 007_007b_admin_send_group_invitation_to_join_course_via_email.yaml moved to pending folder",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.pending/007_007b_admin_send_group_invitation_to_join_course_via_email.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/EncodeUserHandleUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/DecodeUserHandleUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/EncodeUserHandleUseCaseImpl.kt"
        ],
        "commitId" : "f196dbbd549013dfe527fe3c5afdb44bdc6b526d",
        "timestamp" : 1748701848000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete CreatePasskeyRequestJsonUseCase\u000aPrevent error being shown when there is no saved credential available.\u000aTidyup passkey documentation on user handle use cases.\u000a",
        "date" : "2025-05-31 18:30:48 +0400",
        "id" : "f196dbbd549013dfe527fe3c5afdb44bdc6b526d",
        "msg" : "Remove obsolete CreatePasskeyRequestJsonUseCase",
        "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/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/passkey/EncodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyRequestJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt",
          "app-ktor-server/src/main/resources/application.conf"
        ],
        "commitId" : "b6210a7f0b8c11682cf39c1617c7bbdc241688dd",
        "timestamp" : 1748703342000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert changes to application.conf and update ServerRunner to handle useMockEmail\u000a\u000aRevert change to application.conf that enabled useMockEmail by default.\u000aUpdate testserver-controller ServerRunner to set useMockEmail parameter\u000a",
        "date" : "2025-05-31 18:55:42 +0400",
        "id" : "b6210a7f0b8c11682cf39c1617c7bbdc241688dd",
        "msg" : "Revert changes to application.conf and update ServerRunner to handle useMockEmail",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/ServerRunner.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "1189d5df0c89e19db618e8153a96100a08aef874",
        "timestamp" : 1748784497000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix compilation issues after merging primary into dev-simplifed-onboarding\u000a",
        "date" : "2025-06-01 17:28:17 +0400",
        "id" : "1189d5df0c89e19db618e8153a96100a08aef874",
        "msg" : "Fix compilation issues after merging primary into dev-simplifed-onboarding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ustad-appconfig.sh",
          "wget-log",
          "wget-log.1",
          "ustad-appconfig.bat"
        ],
        "commitId" : "34d4dc53dcd2b5607aaccee54b3b0e067c22126e",
        "timestamp" : 1748788991000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Delete obsolete scripts and wget test logs.\u000a",
        "date" : "2025-06-01 18:43:11 +0400",
        "id" : "34d4dc53dcd2b5607aaccee54b3b0e067c22126e",
        "msg" : "Delete obsolete scripts and wget test logs.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "ustad-appconfig.sh"
          },
          {
            "editType" : "delete",
            "file" : "ustad-appconfig.bat"
          },
          {
            "editType" : "delete",
            "file" : "wget-log"
          },
          {
            "editType" : "delete",
            "file" : "wget-log.1"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "4514e1f3e4b663968ea563badc8b404fb9c2f3b4",
        "timestamp" : 1748853214000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "AddnewPerson usecase binding issue fix\u000a",
        "date" : "2025-06-02 14:03:34 +0530",
        "id" : "4514e1f3e4b663968ea563badc8b404fb9c2f3b4",
        "msg" : "AddnewPerson usecase binding issue fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_006_admin_enable_or_disable_guest_login.cy.js",
          "app-ktor-server/src/main/resources/application.conf",
          "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_004_002_users_add_course_comments.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_005_assignment_grace_period_finished.cy.js",
          "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/webapp-cypress/cypress/e2e/WEB_004_009_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/webapp-cypress/cypress/e2e/WEB_004_010_peer_marking_for_individual_assignment.cy.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_007b_admin_send_group_invitation_to_join_course_via_email.cy.js",
          "test-end-to-end/webapp-cypress/cypress/support/commands.js",
          "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_002b_user_registration_above_age_13_join_learning_space_username_password.cy.js"
        ],
        "commitId" : "b1bd793f7bcda4b25332452cdea8aa5811d39a95",
        "timestamp" : 1748863702000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "cypress test - conflict fixes\u000a",
        "date" : "2025-06-02 15:28:22 +0400",
        "id" : "b1bd793f7bcda4b25332452cdea8aa5811d39a95",
        "msg" : "cypress test - conflict fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_009_group_users_multiple_assignment_submission_allowed.cy.js"
          },
          {
            "editType" : "edit",
            "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" : "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_006_admin_enable_or_disable_guest_login.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_010_peer_marking_for_individual_assignment.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_007b_admin_send_group_invitation_to_join_course_via_email.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_004_002_users_add_course_comments.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_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_004_005_assignment_grace_period_finished.cy.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_004_003_multiple_submission_possible_for_student.cy.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "0a5d3a76029307eabeacba1a9861f63c4b09404b",
        "timestamp" : 1748961568000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Attempt fix for copy course app crash (since merging dev-simplified-onboarding).\u000a",
        "date" : "2025-06-03 18:39:28 +0400",
        "id" : "0a5d3a76029307eabeacba1a9861f63c4b09404b",
        "msg" : "Attempt fix for copy course app crash (since merging dev-simplified-onboarding).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/resources/application.conf"
        ],
        "commitId" : "56938ba4ca8a120fe0a73dde86e309d161e691e7",
        "timestamp" : 1749018360000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "removed useMockEmail change\u000a",
        "date" : "2025-06-04 10:26:00 +0400",
        "id" : "56938ba4ca8a120fe0a73dde86e309d161e691e7",
        "msg" : "removed useMockEmail change",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/resources/application.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "f86988d4eacbc271001f280be7601c266e7c37bf",
        "timestamp" : 1749030589000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version\u000a",
        "date" : "2025-06-04 13:49:49 +0400",
        "id" : "f86988d4eacbc271001f280be7601c266e7c37bf",
        "msg" : "Bump version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/signup/OtherSignUpOptionSelectionScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.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/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
        ],
        "commitId" : "a037886e47fe544ae3b524dcf975110c87a9c754",
        "timestamp" : 1749108190000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "fixes for the issues\u000awhen user cancel app getting closed\u000ahttps://github.com/UstadMobile/UstadMobile/issues/1114\u000a\u000awhen user cancel we dont need to show error messgae\u000a\u000ahttps://github.com/UstadMobile/UstadMobile/issues/1113\u000a",
        "date" : "2025-06-05 12:53:10 +0530",
        "id" : "a037886e47fe544ae3b524dcf975110c87a9c754",
        "msg" : "fixes for the issues",
        "paths" : [
          {
            "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/domain/credentials/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/GetCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.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/signup/OtherSignUpOptionSelectionViewModel.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/viewmodel/signup/SignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/site/edit/SiteEditScreen.kt"
        ],
        "commitId" : "5e43efcde580e372aee41549b9a5a5a588bf550e",
        "timestamp" : 1750232993000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "error message showing now if registration allowed without adding terms\u000a",
        "date" : "2025-06-18 13:19:53 +0530",
        "id" : "5e43efcde580e372aee41549b9a5a5a588bf550e",
        "msg" : "error message showing now if registration allowed without adding terms",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/site/edit/SiteEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "11d5e26e54ce220e7fba713fdcab3b7ace1e56ef",
        "timestamp" : 1750322272000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "e2e_cypress test\u000a",
        "date" : "2025-06-19 12:37:52 +0400",
        "id" : "11d5e26e54ce220e7fba713fdcab3b7ace1e56ef",
        "msg" : "e2e_cypress test",
        "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" : "c6ed78e158304d816c88decc5ffd2dbaa68267b1",
        "timestamp" : 1750328021000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : " test update - cypress\u000a",
        "date" : "2025-06-19 14:13:41 +0400",
        "id" : "c6ed78e158304d816c88decc5ffd2dbaa68267b1",
        "msg" : "test update - cypress",
        "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",
          "test-end-to-end/android-maestro/e2e-tests/common/enable_user_registration.yaml"
        ],
        "commitId" : "0a66cbccbde52ca6a7c42097c66512e270c6bc84",
        "timestamp" : 1750331836000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : " test update - maestro\u000a",
        "date" : "2025-06-19 15:17:16 +0400",
        "id" : "0a66cbccbde52ca6a7c42097c66512e270c6bc84",
        "msg" : "test update - maestro",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/enable_user_registration.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/edit/SiteEditViewModel.kt"
        ],
        "commitId" : "be4e253bfc7a685faaada89f19e08681ab127658",
        "timestamp" : 1750662589000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "when registration allowed toggle is off then error message was till showing so that is fixed in this commit\u000a",
        "date" : "2025-06-23 12:39:49 +0530",
        "id" : "be4e253bfc7a685faaada89f19e08681ab127658",
        "msg" : "when registration allowed toggle is off then error message was till showing so that is fixed in this commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/edit/SiteEditViewModel.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_001_admin_enable_or_disable_user_registration.cy.js"
        ],
        "commitId" : "52413d45320577828348fd304405f3e388a04a63",
        "timestamp" : 1750686354000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Modified test flow on cypress\u000a",
        "date" : "2025-06-23 17:45:54 +0400",
        "id" : "52413d45320577828348fd304405f3e388a04a63",
        "msg" : "Modified test flow on cypress",
        "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/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md"
        ],
        "commitId" : "19203f6558ad4921871e9ac3c6494af927130d5c",
        "timestamp" : 1750686852000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Modified test description\u000a",
        "date" : "2025-06-23 17:54:12 +0400",
        "id" : "19203f6558ad4921871e9ac3c6494af927130d5c",
        "msg" : "Modified test description",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-descriptions/007_001_admin_enable_or_disable_user_registration_test_description.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/common/enable_user_registration.yaml",
          "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml"
        ],
        "commitId" : "982d3a6e33ff8630ed136a34e9c1fd10b67df8f0",
        "timestamp" : 1750688341000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Modified maestro test\u000a",
        "date" : "2025-06-23 18:19:01 +0400",
        "id" : "982d3a6e33ff8630ed136a34e9c1fd10b67df8f0",
        "msg" : "Modified maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/common/enable_user_registration.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/007_001_admin_enable_or_disable_user_registration.yaml"
          }
        ]
      },
      {
        "_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_001_admin_enable_or_disable_user_registration.cy.js"
        ],
        "commitId" : "d99c47010b6f37074f92484b101c0790259d9ee2",
        "timestamp" : 1750749414000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : " test update - cypress - added wait to give time to load the switch\u000a",
        "date" : "2025-06-24 11:16:54 +0400",
        "id" : "d99c47010b6f37074f92484b101c0790259d9ee2",
        "msg" : "test update - cypress - added wait to give time to load the switch",
        "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_001_admin_enable_or_disable_user_registration.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"
        ],
        "commitId" : "1d7057495ffdd25728a76fb903448e2138b85a20",
        "timestamp" : 1750750450000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : " #comment time to load the switch\u000a",
        "date" : "2025-06-24 11:34:10 +0400",
        "id" : "1d7057495ffdd25728a76fb903448e2138b85a20",
        "msg" : "#comment time to load the switch",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/e2e/WEB_007_001_admin_enable_or_disable_user_registration.cy.js"
          }
        ]
      },
      {
        "_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_001_admin_enable_or_disable_user_registration.cy.js"
        ],
        "commitId" : "a149ad99b7e5b7073d1aa663726e68d94d5537cd",
        "timestamp" : 1750762128000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "removed wait and force:true from cypress test\u000a",
        "date" : "2025-06-24 14:48:48 +0400",
        "id" : "a149ad99b7e5b7073d1aa663726e68d94d5537cd",
        "msg" : "removed wait and force:true from cypress test",
        "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/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/manageaccount/ManageAccountScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/manageaccount/ManageAccountScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.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/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
        ],
        "commitId" : "98fc1d2f089c46d1808ada9d5b1557d4019a867d",
        "timestamp" : 1750764138000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "code cleanup\u000a",
        "date" : "2025-06-24 16:52:18 +0530",
        "id" : "98fc1d2f089c46d1808ada9d5b1557d4019a867d",
        "msg" : "code cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/manageaccount/ManageAccountScreen.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/account/addaccountselectneworexisting/AddAccountSelectNewOrExistingViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/credentials/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/manageaccount/ManageAccountScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/site/edit/SiteEditScreen.kt"
        ],
        "commitId" : "9cd7385d1dd5eb5d58a8e79f37ba412375d4aad6",
        "timestamp" : 1750854534000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "updated SiteEditScreen\u000a",
        "date" : "2025-06-25 17:58:54 +0530",
        "id" : "9cd7385d1dd5eb5d58a8e79f37ba412375d4aad6",
        "msg" : "updated SiteEditScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/site/edit/SiteEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/wrapper/gradle-wrapper.properties",
          "build.gradle"
        ],
        "commitId" : "f66cceccd22d0735df89bc030bec4f15a80fdbed",
        "timestamp" : 1750866110000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle Plugin version to 8.11.0\u000a",
        "date" : "2025-06-25 19:41:50 +0400",
        "id" : "f66cceccd22d0735df89bc030bec4f15a80fdbed",
        "msg" : "Update Android Gradle Plugin version to 8.11.0",
        "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/login/LoginViewModel.kt"
        ],
        "commitId" : "ef63943095f24b1d17ccb8a0609df59484e2ea69",
        "timestamp" : 1750940630000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "clean up\u000a",
        "date" : "2025-06-26 17:53:50 +0530",
        "id" : "ef63943095f24b1d17ccb8a0609df59484e2ea69",
        "msg" : "clean up",
        "paths" : [
          {
            "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/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/androidMain/kotlin/com/ustadmobile/core/domain/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
        ],
        "commitId" : "4a391368d3757f68635965d4ddda2c9a0b789ec1",
        "timestamp" : 1751023841000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Minor space tidyup and variable renaming.\u000a",
        "date" : "2025-06-27 15:30:41 +0400",
        "id" : "4a391368d3757f68635965d4ddda2c9a0b789ec1",
        "msg" : "Minor space tidyup and variable renaming.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/OtherSignUpOptionSelectionViewModel.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/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/signup/SignUpViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
        ],
        "commitId" : "d7f55738758172371419231ec6710bfc698b9a32",
        "timestamp" : 1751458903000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix error in AbstractAppActivity: downloads would be shown when any extra arguments were passed with the intent (even if showDownloads is not set or false).\u000a",
        "date" : "2025-07-02 16:21:43 +0400",
        "id" : "d7f55738758172371419231ec6710bfc698b9a32",
        "msg" : "Fix error in AbstractAppActivity: downloads would be shown when any extra arguments were passed with the intent (even if showDownloads is not set or false).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
      "fullName" : "Mike Dawson"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
      "fullName" : "Prashant Deshmukh"
    },
    {
      "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/nikunj.sharma",
      "fullName" : "nikunj.sharma"
    }
  ]
}