{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Pooja Ravi",
          "userId" : "pooja",
          "userName" : "Pooja Ravi"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev-reports-screen" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 6,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a834a1022845d38ea99d6475cf6d768f5b613686",
            "branch" : [
              {
                "SHA1" : "a834a1022845d38ea99d6475cf6d768f5b613686",
                "name" : "refs/remotes/origin/dev-reports-screen"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a834a1022845d38ea99d6475cf6d768f5b613686",
            "branch" : [
              {
                "SHA1" : "a834a1022845d38ea99d6475cf6d768f5b613686",
                "name" : "refs/remotes/origin/dev-reports-screen"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "a834a1022845d38ea99d6475cf6d768f5b613686",
        "branch" : [
          {
            "SHA1" : "a834a1022845d38ea99d6475cf6d768f5b613686",
            "name" : "refs/remotes/origin/dev-reports-screen"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/UstadMobile/Respect.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#6",
  "duration" : 28519,
  "estimatedDuration" : 159745,
  "executor" : None,
  "fullDisplayName" : "RESPECT-dev-reports-screen #6",
  "id" : "6",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 6,
  "queueId" : 3538,
  "result" : "FAILURE",
  "timestamp" : 1756202647315,
  "url" : "https://devserver3.ustadmobile.com/jenkins/view/all/job/RESPECT-dev-reports-screen/6/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt"
        ],
        "commitId" : "67921bb803b7ef95faf1b9f481a1075b9ae8ad3a",
        "timestamp" : 1753250274000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "used gender label\u000a",
        "date" : "2025-07-23 11:27:54 +0530",
        "id" : "67921bb803b7ef95faf1b9f481a1075b9ae8ad3a",
        "msg" : "used gender label",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
        ],
        "commitId" : "d37f04aa16a26d061ec205f12d7df04c9196f20a",
        "timestamp" : 1753346545000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "adding passkey files\u000a",
        "date" : "2025-07-24 14:12:25 +0530",
        "id" : "d37f04aa16a26d061ec205f12d7df04c9196f20a",
        "msg" : "adding passkey files",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt"
        ],
        "commitId" : "5dd9fcd3c47f7a42205659b094198ab4c968d45c",
        "timestamp" : 1753684639000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "fixes\u000a",
        "date" : "2025-07-28 12:07:19 +0530",
        "id" : "5dd9fcd3c47f7a42205659b094198ab4c968d45c",
        "msg" : "fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-credentials/src/main/java/world/respect/credentials/passkey/CreatePasskeyUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/EncodeUserHandleUseCaseImpl.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "gradle/libs.versions.toml",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/GetCredentialUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseImpl.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/util/StringExt.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt"
        ],
        "commitId" : "8fb30cdf36765213a409693a837180f02ee35c86",
        "timestamp" : 1753775611000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "passkey file added\u000a",
        "date" : "2025-07-29 13:23:31 +0530",
        "id" : "8fb30cdf36765213a409693a837180f02ee35c86",
        "msg" : "passkey file added",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/EncodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/util/StringExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/ClientDataJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/CreatePasskeyUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/util/StringExt.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt",
          "respect-credentials/src/main/java/world/respect/credentials/passkey/GetCredentialUseCase.kt"
        ],
        "commitId" : "eb83fe885582d92fd0d0e3afb3f87adae939478c",
        "timestamp" : 1753857720000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "passkey file added in signup and LoginScreen\u000a",
        "date" : "2025-07-30 12:12:00 +0530",
        "id" : "eb83fe885582d92fd0d0e3afb3f87adae939478c",
        "msg" : "passkey file added in signup and LoginScreen",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/ClientDataJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/util/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/java/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
        ],
        "commitId" : "2e84cce88c7d3a679e0374784e32872069024ba9",
        "timestamp" : 1753870597000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "required msg showing\u000a",
        "date" : "2025-07-30 15:46:37 +0530",
        "id" : "2e84cce88c7d3a679e0374784e32872069024ba9",
        "msg" : "required msg showing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-app-compose/src/androidMain/AndroidManifest.xml",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "2b29774eb6910af97cf1b7b3ea016be09b225044",
        "timestamp" : 1754033494000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "passkey creation and login working\u000a",
        "date" : "2025-08-01 13:01:34 +0530",
        "id" : "2b29774eb6910af97cf1b7b3ea016be09b225044",
        "msg" : "passkey creation and login working",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/DecodeUserHandleUseCaseImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt",
          "respect-app-compose/src/androidMain/AndroidManifest.xml",
          "respect-credentials/build.gradle.kts",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/StringExt.jvm.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-credentials/src/androidTest/java/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kt",
          "respect-credentials/src/jvmTest/kotlin/world/respect/credentials/GetCredentialUseCaseTest.kt"
        ],
        "commitId" : "ea3904974f9c7e47b13aef73a7de538dad52773b",
        "timestamp" : 1754292173000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "passkey test added\u000a",
        "date" : "2025-08-04 12:52:53 +0530",
        "id" : "ea3904974f9c7e47b13aef73a7de538dad52773b",
        "msg" : "passkey test added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/StringExt.jvm.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/DecodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/jvmTest/kotlin/world/respect/credentials/GetCredentialUseCaseTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-credentials/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/androidTest/java/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/RespectAccountManagerScopeTest.kt",
          "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/mock/MockGetInviteInfoUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt",
          "settings.gradle.kts",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-datalayer-directory/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealmDirectory.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt"
        ],
        "commitId" : "9ac60482e15b7b568dab26c0dc022a1d5a46c676",
        "timestamp" : 1754311999000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress: add initial directory implementation skeleton\u000a",
        "date" : "2025-08-04 16:53:19 +0400",
        "id" : "9ac60482e15b7b568dab26c0dc022a1d5a46c676",
        "msg" : "Work in progress: add initial directory implementation skeleton",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/mock/MockGetInviteInfoUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealmDirectory.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/RespectAccountManagerScopeTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-directory/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-server/build.gradle.kts",
          "respect-server/src/main/kotlin/world/respect/Application.kt",
          "respect-server/src/main/resources/application.conf"
        ],
        "commitId" : "4617bdafd6da51b0a48f5092f86d28bc3d00dd60",
        "timestamp" : 1754315196000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add ServerAppMain class\u000a",
        "date" : "2025-08-04 17:46:36 +0400",
        "id" : "4617bdafd6da51b0a48f5092f86d28bc3d00dd60",
        "msg" : "Add ServerAppMain class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/resources/application.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/.gitignore",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt",
          "respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-server/build.gradle.kts",
          "gradle/libs.versions.toml"
        ],
        "commitId" : "55c3c2a4cc3681acaa93d0357586293bbe46f51b",
        "timestamp" : 1754321322000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Server work in progress: saving/reading manager server options/credentials works.\u000a",
        "date" : "2025-08-04 19:28:42 +0400",
        "id" : "55c3c2a4cc3681acaa93d0357586293bbe46f51b",
        "msg" : "Server work in progress: saving/reading manager server options/credentials works.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt"
        ],
        "commitId" : "f7d51fc8e29e074231aee481d500e806eb0a6d30",
        "timestamp" : 1754371288000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "small fix\u000a",
        "date" : "2025-08-05 10:51:28 +0530",
        "id" : "f7d51fc8e29e074231aee481d500e806eb0a6d30",
        "msg" : "small fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ARCHITECTURE.md"
        ],
        "commitId" : "899832ff49b2b5b643b8b540a91a5e9dbb77076c",
        "timestamp" : 1754400829000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Architecture explanation.\u000a",
        "date" : "2025-08-05 17:33:49 +0400",
        "id" : "899832ff49b2b5b643b8b540a91a5e9dbb77076c",
        "msg" : "Add Architecture explanation.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ARCHITECTURE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ARCHITECTURE.md"
        ],
        "commitId" : "35d5fbe13eeb5621dd27f9740c13a3699181a351",
        "timestamp" : 1754401256000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Architecture explanation.\u000a",
        "date" : "2025-08-05 17:40:56 +0400",
        "id" : "35d5fbe13eeb5621dd27f9740c13a3699181a351",
        "msg" : "Update Architecture explanation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ARCHITECTURE.md"
        ],
        "commitId" : "9f0f13206e335e708b0477fab32be60fcf07720e",
        "timestamp" : 1754401426000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Architecture explanation.\u000a",
        "date" : "2025-08-05 17:43:46 +0400",
        "id" : "9f0f13206e335e708b0477fab32be60fcf07720e",
        "msg" : "Update Architecture explanation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ARCHITECTURE.md"
        ],
        "commitId" : "e8ee2c37508b03567c4cf496fb1ae914033c5993",
        "timestamp" : 1754401465000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Architecture explanation.\u000a",
        "date" : "2025-08-05 17:44:25 +0400",
        "id" : "e8ee2c37508b03567c4cf496fb1ae914033c5993",
        "msg" : "Update Architecture explanation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kt",
          "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectDatabase.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "respect-datalayer-directory/build.gradle.kts",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-server/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt",
          "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectDirectoryEntity.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectDatabase/1.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kt",
          "settings.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectRealmEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/RespectDirectoryDataSourceDb.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt",
          "respect-datalayer-db/schemas/world.respect.datasource.db.RespectDatabase/1.json",
          "ARCHITECTURE.md"
        ],
        "commitId" : "19362de7fdae7c65a65844a2ee0b72354ed4dd8a",
        "timestamp" : 1754459036000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move realm directory datasource into the main datasource module.\u000a",
        "date" : "2025-08-06 09:43:56 +0400",
        "id" : "19362de7fdae7c65a65844a2ee0b72354ed4dd8a",
        "msg" : "Move realm directory datasource into the main datasource module.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/RespectDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectDatabase/1.json"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datasource.db.RespectDatabase/1.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-directory/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectDirectoryEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "ARCHITECTURE.md"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectRealmEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-directory/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/joinclazzwithcode/JoinClazzWithCodeScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "abb638727db5c86b3a73e9fa52b4e69cafa26953",
        "timestamp" : 1754463931000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "small chnges and added other option screen\u000a",
        "date" : "2025-08-06 12:35:31 +0530",
        "id" : "abb638727db5c86b3a73e9fa52b4e69cafa26953",
        "msg" : "small chnges and added other option screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/joinclazzwithcode/JoinClazzWithCodeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmDirectoryEntityDao.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-server/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/adapters/RealmAdapter.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectDirectoryEntity.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectRealmEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/RespectDirectoryDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmDirectoryEntity.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSource.kt"
        ],
        "commitId" : "d1ffa5a57a03cff132201dab50eb847bc3c2cdfc",
        "timestamp" : 1754471900000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of adding a realm via server command line interface.\u000a",
        "date" : "2025-08-06 13:18:20 +0400",
        "id" : "d1ffa5a57a03cff132201dab50eb847bc3c2cdfc",
        "msg" : "Initial implementation of adding a realm via server command line interface.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmDirectoryEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmDirectoryEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/RespectDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectRealmEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/directory/RespectDirectoryDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/adapters/RealmAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/directory/entities/RespectDirectoryEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-server/build.gradle.kts",
          "gradle/libs.versions.toml",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt"
        ],
        "commitId" : "c448cdd03a8443a9178488596ec735a86d816326",
        "timestamp" : 1754474020000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add basic auth to respect realm directory admin.\u000a",
        "date" : "2025-08-06 13:53:40 +0400",
        "id" : "c448cdd03a8443a9178488596ec735a86d816326",
        "msg" : "Add basic auth to respect realm directory admin.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/RespectRealmPath.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealmDirectory.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/adapters/RealmAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/ext/RespectRealmExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmConfigEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmConfigEntityDao.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddServerManagedDirectoryCallback.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/InstantISO8601Serializer.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/Person.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/UrlExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kt"
        ],
        "commitId" : "8c5a25bdcbb3ed7460a9f6ced15e9d8a708ac268",
        "timestamp" : 1754492106000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of adding a realm that creates a realm-specific database.\u000aUse Koin's scope to provide realm-specific database.\u000a",
        "date" : "2025-08-06 18:55:06 +0400",
        "id" : "8c5a25bdcbb3ed7460a9f6ced15e9d8a708ac268",
        "msg" : "Initial implementation of adding a realm that creates a realm-specific database.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/ext/RespectRealmExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/RespectRealmPath.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/UrlExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmConfigEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/InstantISO8601Serializer.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/Person.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/adapters/RealmAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmConfigEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddServerManagedDirectoryCallback.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealmDirectory.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmConfigEntityDao.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
        ],
        "commitId" : "6c2124f493f8297fb2b2aaff1247bbc57146effb",
        "timestamp" : 1754549713000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update handling of RealmConfigEntity to set realm database path.\u000a",
        "date" : "2025-08-07 10:55:13 +0400",
        "id" : "6c2124f493f8297fb2b2aaff1247bbc57146effb",
        "msg" : "Update handling of RealmConfigEntity to set realm database path.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmConfigEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/createinviteredeemrequest/RespectRedeemInviteRequestUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "c6d4b8473013ab3abd3ed6490ea0ee8dd770372f",
        "timestamp" : 1754552825000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "added screens\u000a",
        "date" : "2025-08-07 13:17:05 +0530",
        "id" : "c6d4b8473013ab3abd3ed6490ea0ee8dd770372f",
        "msg" : "added screens",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/createinviteredeemrequest/RespectRedeemInviteRequestUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-test-end-to-end/android-maestro/e2e-tests/001_browse_lessons_test.yaml"
        ],
        "commitId" : "1a580026014be0651c632351db9a834189cb37b6",
        "timestamp" : 1754572215000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Modified test flow as per new design\u000a",
        "date" : "2025-08-07 17:10:15 +0400",
        "id" : "1a580026014be0651c632351db9a834189cb37b6",
        "msg" : "Modified test flow as per new design",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-test-end-to-end/android-maestro/e2e-tests/001_browse_lessons_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
        ],
        "commitId" : "d58b6138c3a244cc9fe53f24e5972d6802f841cc",
        "timestamp" : 1754632939000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "issues fixed\u000a",
        "date" : "2025-08-08 11:32:19 +0530",
        "id" : "d58b6138c3a244cc9fe53f24e5972d6802f841cc",
        "msg" : "issues fixed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSourceLocal.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kt",
          "respect-server/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPassword.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/Person.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/account/setpassword/SetPasswordUseDbImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/AuthTokenEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/AuthTokenAdapter.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt",
          "respect-datalayer-db/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/AuthToken.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt",
          "respect-server/src/test/kotlin/world/respect/server/domain/account/authwithpassword/AuthWithPasswordIntegrationTest.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonPasswordEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/AuthTokenEntity.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonPasswordEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kt"
        ],
        "commitId" : "5b32fc5940805a1edff75d537772333216ed48f0",
        "timestamp" : 1754643187000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of server side password encryption/hashing.\u000a",
        "date" : "2025-08-08 12:53:07 +0400",
        "id" : "5b32fc5940805a1edff75d537772333216ed48f0",
        "msg" : "Initial implementation of server side password encryption/hashing.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/AuthTokenEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/test/kotlin/world/respect/server/domain/account/authwithpassword/AuthWithPasswordIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/AuthToken.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonPasswordEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/Person.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/setpassword/SetPasswordUseDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/AuthTokenAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPassword.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/AuthTokenEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonPasswordEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/AuthTokenEntityDao.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/TimeInMillis.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/AuthTokenAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kt",
          "respect-server/src/test/kotlin/world/respect/server/domain/account/authwithpassword/AuthWithPasswordIntegrationTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPassword.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/TimeInMillis.android.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/TimeInMillis.jvm.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/AuthTokenEntity.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/AuthenticatedUserPrincipalId.kt"
        ],
        "commitId" : "a13c8564c635fd4761c8889abca65e4e6ef6ea21",
        "timestamp" : 1754904139000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of authentication token creation.\u000a",
        "date" : "2025-08-11 13:22:19 +0400",
        "id" : "a13c8564c635fd4761c8889abca65e4e6ef6ea21",
        "msg" : "Initial implementation of authentication token creation.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/TimeInMillis.jvm.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/TimeInMillis.android.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/AuthTokenEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/AuthTokenEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/test/kotlin/world/respect/server/domain/account/authwithpassword/AuthWithPasswordIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPassword.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/TimeInMillis.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/AuthTokenAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/AuthenticatedUserPrincipalId.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/domain/account/setpassword/SetPasswordUseDbImpl.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt",
          "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseDbImpl.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kt",
          "respect-server/src/test/kotlin/world/respect/server/domain/account/authwithpassword/AuthWithPasswordIntegrationTest.kt"
        ],
        "commitId" : "d726292260483bfeebdcb05b6ecea8501b6d09fd",
        "timestamp" : 1754906220000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move db based implementations of account use cases to lib-shared.\u000a",
        "date" : "2025-08-11 13:57:00 +0400",
        "id" : "d726292260483bfeebdcb05b6ecea8501b6d09fd",
        "msg" : "Move db based implementations of account use cases to lib-shared.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/test/kotlin/world/respect/server/domain/account/authwithpassword/AuthWithPasswordIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/setpassword/SetPasswordUseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSourceLocal.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/AuthenticatedUserPrincipalId.kt"
        ],
        "commitId" : "c5fcae7be6799c107c84a8055a631e381b673594",
        "timestamp" : 1754915201000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation where adding a Realm using manage server cli will have an admin user set.\u000a",
        "date" : "2025-08-11 16:26:41 +0400",
        "id" : "c5fcae7be6799c107c84a8055a631e381b673594",
        "msg" : "Initial implementation where adding a Realm using manage server cli will have an admin user set.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/AuthenticatedUserPrincipalId.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt",
          "respect-server/build.gradle.kts",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/exceptionwithstatuscode/ExceptionWithStatusCode.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCaseClient.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kt"
        ],
        "commitId" : "c8ca8df1f94801fe076530fbd101d215fe89c593",
        "timestamp" : 1754926784000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress architecture to make authentication tokens available via dependency injection on client.\u000a",
        "date" : "2025-08-11 19:39:44 +0400",
        "id" : "c8ca8df1f94801fe076530fbd101d215fe89c593",
        "msg" : "Work in progress architecture to make authentication tokens available via dependency injection on client.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/exceptionwithstatuscode/ExceptionWithStatusCode.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithUsernameAndPasswordDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/EncodeUserHandleUseCaseImpl.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt",
          "gradle/libs.versions.toml",
          "respect-credentials/src/jvmTest/kotlin/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupUseCase.kt",
          "respect-credentials/src/androidTest/java/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kt",
          "respect-credentials/src/jvmTest/kotlin/world/respect/credentials/GetCredentialUseCaseTest.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/DecodeUserHandleUseCaseImpl.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/passkey/DecodeUserHandleUseCaseImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/passkey/EncodeUserHandleUseCaseImpl.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
        ],
        "commitId" : "316661b49d16904217eed9086cad9e26234994aa",
        "timestamp" : 1754983572000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
          "fullName" : "nikunj.sharma"
        },
        "authorEmail" : "nikunj.sharma@sutara.org",
        "comment" : "added Signupusecase\u000a",
        "date" : "2025-08-12 12:56:12 +0530",
        "id" : "316661b49d16904217eed9086cad9e26234994aa",
        "msg" : "added Signupusecase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/jvmTest/kotlin/world/respect/credentials/GetCredentialUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-credentials/src/jvmTest/kotlin/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/DecodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/CreateCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/androidTest/java/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/passkey/DecodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/EncodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/username/ParseCredentialUsernameUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/passkey/EncodeUserHandleUseCaseImpl.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/MockRespectReportDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indictor/IndictorEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/Indicator.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/IndictorEditViewmodel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportSeries.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/IndicatorSerializer.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/DefaultIndicators.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectReportDataSource.kt"
        ],
        "commitId" : "ac20aeb7f271ceca9339856ed75a95b5b039295b",
        "timestamp" : 1754990282000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "add indicator list screen\u000a",
        "date" : "2025-08-12 14:48:02 +0530",
        "id" : "ac20aeb7f271ceca9339856ed75a95b5b039295b",
        "msg" : "add indicator list screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectReportDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indictor/IndictorEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/DefaultIndicators.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/IndicatorSerializer.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/MockRespectReportDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/Indicator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportSeries.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/MakeRealmPathDirUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/realm/MakeRealmPathDirUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
        ],
        "commitId" : "8cf629b89d465eb3e56435712ccbd76d21d183b1",
        "timestamp" : 1755066291000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "WOrk in progress: login functionality.\u000a",
        "date" : "2025-08-13 10:24:51 +0400",
        "id" : "8cf629b89d465eb3e56435712ccbd76d21d183b1",
        "msg" : "WOrk in progress: login functionality.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/realm/MakeRealmPathDirUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/MakeRealmPathDirUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCaseClient.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
        ],
        "commitId" : "dc62362a13eaba6f6032738700a3cf839f62487b",
        "timestamp" : 1755071365000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Login functionality work in progress\u000a",
        "date" : "2025-08-13 11:49:25 +0400",
        "id" : "dc62362a13eaba6f6032738700a3cf839f62487b",
        "msg" : "Login functionality work in progress",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCaseClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ThrowableExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithHttpStatusCode.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
        ],
        "commitId" : "ff79c3d06bcf400181eca901568bcae7185af236",
        "timestamp" : 1755089285000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Exception utility classes.\u000a",
        "date" : "2025-08-13 16:48:05 +0400",
        "id" : "ff79c3d06bcf400181eca901568bcae7185af236",
        "msg" : "Add Exception utility classes.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ThrowableExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithHttpStatusCode.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ThrowableExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithHttpStatusCode.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ThrowableExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
        ],
        "commitId" : "fb6f6b427dfeb3f63993646476b8bde32b9822bb",
        "timestamp" : 1755089599000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move ExceptionWithHttpStatusCode.kt into lib-util.\u000a",
        "date" : "2025-08-13 16:53:19 +0400",
        "id" : "fb6f6b427dfeb3f63993646476b8bde32b9822bb",
        "msg" : "Move ExceptionWithHttpStatusCode.kt into lib-util.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithHttpStatusCode.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ThrowableExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ThrowableExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/exceptionwithstatuscode/ExceptionWithStatusCode.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kt"
        ],
        "commitId" : "2822e1bdccc81cb9926b3ab95144c6627e54303b",
        "timestamp" : 1755089879000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove ExceptionWithStatusCode\u000a",
        "date" : "2025-08-13 16:57:59 +0400",
        "id" : "2822e1bdccc81cb9926b3ab95144c6627e54303b",
        "msg" : "Remove ExceptionWithStatusCode",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/exceptionwithstatuscode/ExceptionWithStatusCode.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
        ],
        "commitId" : "8ac15e6d60b12dedbe039987db7aee4b54379d47",
        "timestamp" : 1755090060000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ExceptionWithUiText.kt\u000a",
        "date" : "2025-08-13 17:01:00 +0400",
        "id" : "8ac15e6d60b12dedbe039987db7aee4b54379d47",
        "msg" : "Update ExceptionWithUiText.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-util/build.gradle.kts",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
        ],
        "commitId" : "03e78d1dcd91b9f70c50feb8984821f74b556451",
        "timestamp" : 1755092126000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update login screen to handle showing exception\u000a",
        "date" : "2025-08-13 17:35:26 +0400",
        "id" : "03e78d1dcd91b9f70c50feb8984821f74b556451",
        "msg" : "Update login screen to handle showing exception",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-util/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/RespectAccountManagerScopeTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseDbImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kt"
        ],
        "commitId" : "ea06c09162183cb976decea44746ef2a9eaf069b",
        "timestamp" : 1755093177000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update SetPasswordUseCase.kt to check authenticated user.\u000a",
        "date" : "2025-08-13 17:52:57 +0400",
        "id" : "ea06c09162183cb976decea44746ef2a9eaf069b",
        "msg" : "Update SetPasswordUseCase.kt to check authenticated user.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/RespectAccountManagerScopeTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ListExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmEntityDao.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmJsonRoute.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSource.kt"
        ],
        "commitId" : "d6b92b365b1caab4482992b339fe8d84fa114b36",
        "timestamp" : 1755174603000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of AccountList screen.\u000a",
        "date" : "2025-08-14 16:30:03 +0400",
        "id" : "d6b92b365b1caab4482992b339fe8d84fa114b36",
        "msg" : "Initial implementation of AccountList screen.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ListExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmJsonRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt"
        ],
        "commitId" : "0f1e9bf8b77f88fb0f05b5a17f1e5fd968ce303e",
        "timestamp" : 1755176073000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update acknowledgement screen to navigate to app launcher if already logged in.\u000a",
        "date" : "2025-08-14 16:54:33 +0400",
        "id" : "0f1e9bf8b77f88fb0f05b5a17f1e5fd968ce303e",
        "msg" : "Update acknowledgement screen to navigate to app launcher if already logged in.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "664a7dc2b5d2235ca2ae0edee860d3c9e76c7c04",
        "timestamp" : 1755249633000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add developer getting started to README\u000a",
        "date" : "2025-08-15 13:20:33 +0400",
        "id" : "664a7dc2b5d2235ca2ae0edee860d3c9e76c7c04",
        "msg" : "Add developer getting started to README",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportSeries.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
        ],
        "commitId" : "10f9c6f1d79cb056c15f396c5a332aeff3d347a2",
        "timestamp" : 1755496732000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "add json on di\u000a",
        "date" : "2025-08-18 11:28:52 +0530",
        "id" : "10f9c6f1d79cb056c15f396c5a332aeff3d347a2",
        "msg" : "add json on di",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportSeries.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonRoleEntity.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/ClazzViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/PersonRole.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/RealmTypeConverters.kt",
          "respect-datalayer-db/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignments/AssignmentViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonRoleEntityDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kt"
        ],
        "commitId" : "b58179beb37b5eb7aaae97edcac6a3efa5bbd742",
        "timestamp" : 1755498408000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Person/role models. Update AppUiState and FabUiState to use UiText.\u000a",
        "date" : "2025-08-18 10:26:48 +0400",
        "id" : "b58179beb37b5eb7aaae97edcac6a3efa5bbd742",
        "msg" : "Update Person/role models. Update AppUiState and FabUiState to use UiText.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/PersonRole.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignments/AssignmentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonRoleEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/RealmTypeConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonRoleEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/ClazzViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt"
        ],
        "commitId" : "0afa10b6c6a136bcedef90ecda53b32bd983a9b7",
        "timestamp" : 1755498569000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove unused imports.\u000a",
        "date" : "2025-08-18 10:29:29 +0400",
        "id" : "0afa10b6c6a136bcedef90ecda53b32bd983a9b7",
        "msg" : "Remove unused imports.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "1be91205e4b3c904d8c70ab7a059fcda486b1af2",
        "timestamp" : 1755498818000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "resolve conflict\u000a",
        "date" : "2025-08-18 12:03:38 +0530",
        "id" : "1be91205e4b3c904d8c70ab7a059fcda486b1af2",
        "msg" : "resolve conflict",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kt"
        ],
        "commitId" : "21640bc081b66fa77d917381735541e4e6ce56a0",
        "timestamp" : 1755500469000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Allow back button on invite code screen.\u000a",
        "date" : "2025-08-18 11:01:09 +0400",
        "id" : "21640bc081b66fa77d917381735541e4e6ce56a0",
        "msg" : "Allow back button on invite code screen.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt"
        ],
        "commitId" : "92e123f3894c7cb7d33fab1cbe95ed02d9af88f2",
        "timestamp" : 1755502519000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add NavResultReturner\u000a",
        "date" : "2025-08-18 11:35:19 +0400",
        "id" : "92e123f3894c7cb7d33fab1cbe95ed02d9af88f2",
        "msg" : "Add NavResultReturner",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
        ],
        "commitId" : "e7266431ed8ff2b9a732d9b96c9cc4952821d37c",
        "timestamp" : 1755508231000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "resolve conflict\u000a",
        "date" : "2025-08-18 14:40:31 +0530",
        "id" : "e7266431ed8ff2b9a732d9b96c9cc4952821d37c",
        "msg" : "resolve conflict",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
        ],
        "commitId" : "9bea3b2273eb8bfe55f14f2de715c0219e073540",
        "timestamp" : 1755515062000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "update filter screen\u000a",
        "date" : "2025-08-18 16:34:22 +0530",
        "id" : "9bea3b2273eb8bfe55f14f2de715c0219e073540",
        "msg" : "update filter screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt"
        ],
        "commitId" : "baa461fb437f000807901fae3da885f435c4a8e3",
        "timestamp" : 1755524485000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of Logout.\u000a",
        "date" : "2025-08-18 17:41:25 +0400",
        "id" : "baa461fb437f000807901fae3da885f435c4a8e3",
        "msg" : "Initial implementation of Logout.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/composites/PersonListDetails.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "3ee5e8bfa54e52a738622c4d4330e83a864ee9fa",
        "timestamp" : 1755586554000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress adding personlist.\u000a",
        "date" : "2025-08-19 10:55:54 +0400",
        "id" : "3ee5e8bfa54e52a738622c4d4330e83a864ee9fa",
        "msg" : "Work in progress adding personlist.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/composites/PersonListDetails.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignments/AssignmentViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/ClazzViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
        ],
        "commitId" : "8d914e84688fdb07456a3de1841a7f4f8223fd06",
        "timestamp" : 1755589409000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improve handling of top level navigation.\u000aAppBar will automatically not show the back/up navigation arrow at the top left for top level destinations.\u000aSelecting top level navigation items clears the back stack (as is done on other apps). If a user selects a bottom navigation item, and then goes back, they exit the app.\u000a",
        "date" : "2025-08-19 11:43:29 +0400",
        "id" : "8d914e84688fdb07456a3de1841a7f4f8223fd06",
        "msg" : "Improve handling of top level navigation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignments/AssignmentViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/ClazzViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
        ],
        "commitId" : "2e92a1aa26383ef3fe92f18572fadb8badca0be4",
        "timestamp" : 1755592720000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "refactor\u000a",
        "date" : "2025-08-19 14:08:40 +0530",
        "id" : "2e92a1aa26383ef3fe92f18572fadb8badca0be4",
        "msg" : "refactor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
        ],
        "commitId" : "8df9e17b4626e9988a4c871d0fa03666a693844a",
        "timestamp" : 1755666783000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "add refactor\u000a",
        "date" : "2025-08-20 10:43:03 +0530",
        "id" : "8df9e17b4626e9988a4c871d0fa03666a693844a",
        "msg" : "add refactor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/ReportDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/Report.kt"
        ],
        "commitId" : "888b74c2008f47881e657c64fd9206ad09b9bd18",
        "timestamp" : 1755671451000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "remove unused code\u000a",
        "date" : "2025-08-20 12:00:51 +0530",
        "id" : "888b74c2008f47881e657c64fd9206ad09b9bd18",
        "msg" : "remove unused code",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/Report.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/ReportDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
        ],
        "commitId" : "c9de65a35fdb72d4d37d3b06d4da2816773262b8",
        "timestamp" : 1755675521000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Make showBackButton null by default (eg. allow default behavior). Add documentation notes for property.\u000a",
        "date" : "2025-08-20 11:38:41 +0400",
        "id" : "c9de65a35fdb72d4d37d3b06d4da2816773262b8",
        "msg" : "Make showBackButton null by default (eg. allow default behavior). Add documentation notes for property.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/composites/PersonListDetails.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadParams.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt"
        ],
        "commitId" : "ab00801c2b378b2c88718314a9923ac1792ed433",
        "timestamp" : 1755686146000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Person List-Edit-Detail model work in progress.\u000a",
        "date" : "2025-08-20 14:35:46 +0400",
        "id" : "ab00801c2b378b2c88718314a9923ac1792ed433",
        "msg" : "Person List-Edit-Detail model work in progress.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadParams.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/composites/PersonListDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
        ],
        "commitId" : "d482bf5071c493e5e9f778fc5808cd6c40125d82",
        "timestamp" : 1755764629000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "code refactor\u000a",
        "date" : "2025-08-21 13:53:49 +0530",
        "id" : "d482bf5071c493e5e9f778fc5808cd6c40125d82",
        "msg" : "code refactor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "DESIGN_GUIDELINES.md"
        ],
        "commitId" : "667cf189344f9c17d066910677f64f61416e2e9f",
        "timestamp" : 1755765433000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Create DESIGN_GUIDELINES.md\u000a",
        "date" : "2025-08-21 12:37:13 +0400",
        "id" : "667cf189344f9c17d066910677f64f61416e2e9f",
        "msg" : "Create DESIGN_GUIDELINES.md",
        "paths" : [
          {
            "editType" : "add",
            "file" : "DESIGN_GUIDELINES.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-test-end-to-end/android-maestro/e2e-tests/004_create_report_test.yaml"
        ],
        "commitId" : "43c0e20abcf081c7ae70b992a85c7132a06f0735",
        "timestamp" : 1755783432000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated test flow as per new design\u000a",
        "date" : "2025-08-21 17:37:12 +0400",
        "id" : "43c0e20abcf081c7ae70b992a85c7132a06f0735",
        "msg" : "Updated test flow as per new design",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-test-end-to-end/android-maestro/e2e-tests/004_create_report_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt"
        ],
        "commitId" : "c1c0c77255d3ba900aad3dfa56a441dac8d3bd36",
        "timestamp" : 1755847112000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "fix app crash\u000a",
        "date" : "2025-08-22 12:48:32 +0530",
        "id" : "c1c0c77255d3ba900aad3dfa56a441dac8d3bd36",
        "msg" : "fix app crash",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/RealmPrimaryKeyGenerator.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kt"
        ],
        "commitId" : "1179855c6b11c4cc9d14d6eee5b30dab708586ea",
        "timestamp" : 1755848686000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Person List-Edit-Detail model work in progress.\u000a",
        "date" : "2025-08-22 11:44:46 +0400",
        "id" : "1179855c6b11c4cc9d14d6eee5b30dab708586ea",
        "msg" : "Person List-Edit-Detail model work in progress.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/RealmPrimaryKeyGenerator.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
        ],
        "commitId" : "373353fbb6776ca4fea29742b5aa78488ce23ac0",
        "timestamp" : 1755852057000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial pattern for list-detail-edit using people as example.\u000a",
        "date" : "2025-08-22 12:40:57 +0400",
        "id" : "373353fbb6776ca4fea29742b5aa78488ce23ac0",
        "msg" : "Initial pattern for list-detail-edit using people as example.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportPeriod.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/StringResourceSerializer.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
        ],
        "commitId" : "d6a6b1d03f747bbc18bc2cad5fdf249537710f2a",
        "timestamp" : 1755853344000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
          "fullName" : "Anugraha"
        },
        "authorEmail" : "Anugraha@sutara.org",
        "comment" : "resolve conflict\u000a",
        "date" : "2025-08-22 14:32:24 +0530",
        "id" : "d6a6b1d03f747bbc18bc2cad5fdf249537710f2a",
        "msg" : "resolve conflict",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/StringResourceSerializer.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportPeriod.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt"
        ],
        "commitId" : "5d693337edd1acaa9191ad014f78d1b54d7c5263",
        "timestamp" : 1755856979000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add skeleton for listing realms (schools).\u000a",
        "date" : "2025-08-22 14:02:59 +0400",
        "id" : "5d693337edd1acaa9191ad014f78d1b54d7c5263",
        "msg" : "Add skeleton for listing realms (schools).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/datasource/RespectAppDataSourceProvider.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/datasource/SingleDataSourceProvider.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSource.kt"
        ],
        "commitId" : "9addfda248ec5c659b52af7fc81d9e7dfb7d73d7",
        "timestamp" : 1755858138000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove RespectAppDataSourceProvider.kt - this will not be used. Replace with direct use of dependency injection.\u000a",
        "date" : "2025-08-22 14:22:18 +0400",
        "id" : "9addfda248ec5c659b52af7fc81d9e7dfb7d73d7",
        "msg" : "Remove RespectAppDataSourceProvider.kt - this will not be used. Replace with direct use of dependency injection.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/datasource/RespectAppDataSourceProvider.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/datasource/SingleDataSourceProvider.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectRealmDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportOptions.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportOptions.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/StatementReportRow.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/DefaultIndicators.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportConditionFilterOptions.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/StatementReportRow.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportPeriod.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportSeries.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportSeries.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportPeriod.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/ReportDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportConditionFilterOptions.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/DefaultIndicators.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectReport.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
        ],
        "commitId" : "d4cdc10c466efb74fd50ff145a2788d0ff9fc181",
        "timestamp" : 1755862514000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor for implementation of report data source\u000a",
        "date" : "2025-08-22 15:35:14 +0400",
        "id" : "d4cdc10c466efb74fd50ff145a2788d0ff9fc181",
        "msg" : "Refactor for implementation of report data source",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportConditionFilterOptions.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportSeries.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportSeries.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportOptions.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectReport.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/ReportDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportPeriod.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportConditionFilterOptions.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/DefaultIndicators.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/StatementReportRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/StatementReportRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/DefaultIndicators.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/report/ReportOptions.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/ReportPeriod.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/anugraha",
      "fullName" : "Anugraha"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/nikunj.sharma",
      "fullName" : "nikunj.sharma"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
      "fullName" : "Mike Dawson"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
      "fullName" : "Pooja Ravi"
    }
  ]
}