<freeStyleProject _class='hudson.model.FreeStyleProject'><action></action><action></action><action></action><action></action><action _class='hudson.plugins.jobConfigHistory.JobConfigHistoryProjectAction'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'><displayUrl>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/</displayUrl></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description>RESPECT-Primary</description><displayName>RESPECT-Primary</displayName><fullDisplayName>RESPECT-Primary</fullDisplayName><fullName>RESPECT-Primary</fullName><name>RESPECT-Primary</name><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/</url><buildable>true</buildable><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>380</buildNumber><marked><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#380</displayName><duration>168078</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #380</fullDisplayName><id>380</id><inProgress>false</inProgress><keepLog>false</keepLog><number>380</number><queueId>8563</queueId><result>SUCCESS</result><timestamp>1779271861010</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/380/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>07731c383a17fb4a0b24db0e760868b6e3acd65d</commitId><timestamp>1779185716000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add guideline on understanding code before committing

Added guideline about understanding and explaining code before committing.
</comment><date>2026-05-19 14:15:16 +0400</date><id>07731c383a17fb4a0b24db0e760868b6e3acd65d</id><msg>Add guideline on understanding code before committing</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>18b1fed572b7f8d297d29d9835b62ce9433d97f7</commitId><timestamp>1779186074000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify variable usage in coding guidelines

Added guideline to avoid using two variables for the same purpose.
</comment><date>2026-05-19 14:21:14 +0400</date><id>18b1fed572b7f8d297d29d9835b62ce9433d97f7</id><msg>Clarify variable usage in coding guidelines</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>AGENTS.md</affectedPath><commitId>5faf3ac280de655c20c419f87c90a788297e0488</commitId><timestamp>1779190932000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md to refer to CODING_GUIDELINES.md
</comment><date>2026-05-19 15:42:12 +0400</date><id>5faf3ac280de655c20c419f87c90a788297e0488</id><msg>Update AGENTS.md to refer to CODING_GUIDELINES.md</msg><path><editType>edit</editType><file>AGENTS.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>379</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#379</displayName><duration>149250</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #379</fullDisplayName><id>379</id><inProgress>false</inProgress><keepLog>false</keepLog><number>379</number><queueId>8532</queueId><result>SUCCESS</result><timestamp>1779185460994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/379/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>378</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#378</displayName><duration>172992</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #378</fullDisplayName><id>378</id><inProgress>false</inProgress><keepLog>false</keepLog><number>378</number><queueId>8498</queueId><result>SUCCESS</result><timestamp>1779099060994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/378/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>377</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#377</displayName><duration>149883</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #377</fullDisplayName><id>377</id><inProgress>false</inProgress><keepLog>false</keepLog><number>377</number><queueId>8465</queueId><result>SUCCESS</result><timestamp>1779012660994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/377/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>376</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#376</displayName><duration>173982</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #376</fullDisplayName><id>376</id><inProgress>false</inProgress><keepLog>false</keepLog><number>376</number><queueId>8435</queueId><result>SUCCESS</result><timestamp>1778926260994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/376/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>375</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#375</displayName><duration>188611</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #375</fullDisplayName><id>375</id><inProgress>false</inProgress><keepLog>false</keepLog><number>375</number><queueId>8402</queueId><result>FAILURE</result><timestamp>1778839860994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/375/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>374</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#374</displayName><duration>143852</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #374</fullDisplayName><id>374</id><inProgress>false</inProgress><keepLog>false</keepLog><number>374</number><queueId>8361</queueId><result>SUCCESS</result><timestamp>1778753460994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/374/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODE_OF_CONDUCT.md</affectedPath><commitId>230b80b2452d708b0978043e033e0a5826668285</commitId><timestamp>1778743774000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add guideline on AI-generated content submission

Add explicit guidelines against submission of AI slop
</comment><date>2026-05-14 11:29:34 +0400</date><id>230b80b2452d708b0978043e033e0a5826668285</id><msg>Add guideline on AI-generated content submission</msg><path><editType>edit</editType><file>CODE_OF_CONDUCT.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODE_OF_CONDUCT.md</affectedPath><commitId>e5a71f872211b1adc6692b881a207ff34a1d3de0</commitId><timestamp>1778743821000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify guidelines on submitting AI-generated content
</comment><date>2026-05-14 11:30:21 +0400</date><id>e5a71f872211b1adc6692b881a207ff34a1d3de0</id><msg>Clarify guidelines on submitting AI-generated content</msg><path><editType>edit</editType><file>CODE_OF_CONDUCT.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>373</buildNumber><marked><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><branch><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><branch><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><branch><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#373</displayName><duration>151705</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #373</fullDisplayName><id>373</id><inProgress>false</inProgress><keepLog>false</keepLog><number>373</number><queueId>8349</queueId><result>SUCCESS</result><timestamp>1778743349286</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/373/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>372</buildNumber><marked><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><branch><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><branch><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><branch><SHA1>4513cf5f87165b746305c8498a57997e28a61f51</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#372</displayName><duration>143252</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #372</fullDisplayName><id>372</id><inProgress>false</inProgress><keepLog>false</keepLog><number>372</number><queueId>8322</queueId><result>SUCCESS</result><timestamp>1778692898814</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/372/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><commitId>4513cf5f87165b746305c8498a57997e28a61f51</commitId><timestamp>1778692885000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update terms/conditions to use .well-known path on school directory server.
Bump version.
</comment><date>2026-05-13 21:21:25 +0400</date><id>4513cf5f87165b746305c8498a57997e28a61f51</id><msg>Update terms/conditions to use .well-known path on school directory server.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>371</buildNumber><marked><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><branch><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><branch><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><branch><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#371</displayName><duration>172788</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #371</fullDisplayName><id>371</id><inProgress>false</inProgress><keepLog>false</keepLog><number>371</number><queueId>8311</queueId><result>SUCCESS</result><timestamp>1778667060255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/371/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>370</buildNumber><marked><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><branch><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><branch><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><branch><SHA1>a3ad308646f86af215e35299a44e2d6fb8a29738</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#370</displayName><duration>173441</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #370</fullDisplayName><id>370</id><inProgress>false</inProgress><keepLog>false</keepLog><number>370</number><queueId>8276</queueId><result>SUCCESS</result><timestamp>1778580660255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/370/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><commitId>f57c392693352718885d4fc16cde4b3c71480fb5</commitId><timestamp>1778499793000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Check username unique during invitation acceptance process (issue #232).
</comment><date>2026-05-11 15:43:13 +0400</date><id>f57c392693352718885d4fc16cde4b3c71480fb5</id><msg>Check username unique during invitation acceptance process (issue #232).</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><commitId>f80a98b0700c71f29761383f0d1825474d323c49</commitId><timestamp>1778506659000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Apply username unique check to when admin sets a username manually.
</comment><date>2026-05-11 17:37:39 +0400</date><id>f80a98b0700c71f29761383f0d1825474d323c49</id><msg>Apply username unique check to when admin sets a username manually.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><commitId>8f8b35910f242ef2abdf0ecc542df733be8f66dc</commitId><timestamp>1778506944000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Correct visibility of floating action button on PersonListViewModel.kt and update to use common GetWritableRolesUseCase
</comment><date>2026-05-11 17:42:24 +0400</date><id>8f8b35910f242ef2abdf0ecc542df733be8f66dc</id><msg>Correct visibility of floating action button on PersonListViewModel.kt and update to use common GetWritableRolesUseCase</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><commitId>6252aff4599c9374493601a1ea8c1b0a520e2d37</commitId><timestamp>1778568050000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Show role on PersonListScreen.
When selecting people to add to class, filter by role (as per #237).
</comment><date>2026-05-12 10:40:50 +0400</date><id>6252aff4599c9374493601a1ea8c1b0a520e2d37</id><msg>Show role on PersonListScreen.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><commitId>ab5a99a59234259c334be4a2fb2f86b32ba5f558</commitId><timestamp>1778571262000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Show error snackbar when no valid link is found.
Fix handling of opening lessons from horizontal pager on app detail screen (Issue #229).
</comment><date>2026-05-12 11:34:22 +0400</date><id>ab5a99a59234259c334be4a2fb2f86b32ba5f558</id><msg>Show error snackbar when no valid link is found.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><commitId>a3ad308646f86af215e35299a44e2d6fb8a29738</commitId><timestamp>1778576588000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version and change assignment label.
</comment><date>2026-05-12 13:03:08 +0400</date><id>a3ad308646f86af215e35299a44e2d6fb8a29738</id><msg>Bump version and change assignment label.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>369</buildNumber><marked><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#369</displayName><duration>198367</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #369</fullDisplayName><id>369</id><inProgress>false</inProgress><keepLog>false</keepLog><number>369</number><queueId>8226</queueId><result>SUCCESS</result><timestamp>1778494260255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/369/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>368</buildNumber><marked><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#368</displayName><duration>150265</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #368</fullDisplayName><id>368</id><inProgress>false</inProgress><keepLog>false</keepLog><number>368</number><queueId>8191</queueId><result>SUCCESS</result><timestamp>1778407860255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/368/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>367</buildNumber><marked><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><branch><SHA1>69f813221401eb23ef0374d7ef62e1d649005926</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#367</displayName><duration>176155</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #367</fullDisplayName><id>367</id><inProgress>false</inProgress><keepLog>false</keepLog><number>367</number><queueId>8160</queueId><result>FAILURE</result><timestamp>1778321460254</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/367/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows-disabled/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><commitId>69f813221401eb23ef0374d7ef62e1d649005926</commitId><timestamp>1778252973000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Disable flow 003 until new xAPI based assignment branch is merged.
</comment><date>2026-05-08 19:09:33 +0400</date><id>69f813221401eb23ef0374d7ef62e1d649005926</id><msg>Disable flow 003 until new xAPI based assignment branch is merged.</msg><path><editType>add</editType><file>.maestro/flows-disabled/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>delete</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>366</buildNumber><marked><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><branch><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><branch><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><branch><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#366</displayName><duration>168906</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #366</fullDisplayName><id>366</id><inProgress>false</inProgress><keepLog>false</keepLog><number>366</number><queueId>8119</queueId><result>SUCCESS</result><timestamp>1778235060255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/366/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>365</buildNumber><marked><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><branch><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><branch><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><branch><SHA1>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#365</displayName><duration>151469</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #365</fullDisplayName><id>365</id><inProgress>false</inProgress><keepLog>false</keepLog><number>365</number><queueId>8073</queueId><result>SUCCESS</result><timestamp>1778148660255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/365/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-test-end-to-end/README.md</affectedPath><affectedPath>.maestro/flow-summary/001_002_add_user_direct_test.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/001_003_login_using_school_link_test_description.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/002_browse_lessons_test_description.md</affectedPath><affectedPath>.maestro/flow-summary/001_005_add_school_self_registration_test.md</affectedPath><affectedPath>.maestro/flow-summary/002_browse_lessons_test.md</affectedPath><affectedPath>.maestro/README.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/001_001_invite_using_invite_code_test_description.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/001_002_add_user_direct_test_description.md</affectedPath><affectedPath>.maestro/flow-summary/001_001_invite_users_using_qr_code_or_link_test.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/001_005_add_school_self_registration_test_description.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/003_teacher_user_assigns_assignment_to_a_class_test_description.md</affectedPath><affectedPath>.maestro/flow-summary/001_003_login_using_school_link_test.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.md</affectedPath><affectedPath>.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_test.md</affectedPath><commitId>507c9fb296572ecad9badcd988357fc80e9ab3c1</commitId><timestamp>1778061233000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add Maestro flow summary documentation for core features.
</comment><date>2026-05-06 13:53:53 +0400</date><id>507c9fb296572ecad9badcd988357fc80e9ab3c1</id><msg>Add Maestro flow summary documentation for core features.</msg><path><editType>add</editType><file>.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_test.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/001_005_add_school_self_registration_test.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/001_005_add_school_self_registration_test_description.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/001_002_add_user_direct_test_description.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/002_browse_lessons_test_description.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/001_002_add_user_direct_test.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/003_teacher_user_assigns_assignment_to_a_class_test_description.md</file></path><path><editType>edit</editType><file>.maestro/README.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/002_browse_lessons_test.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/001_001_invite_using_invite_code_test_description.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/001_003_login_using_school_link_test.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/README.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/001_001_invite_users_using_qr_code_or_link_test.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/001_003_login_using_school_link_test_description.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><commitId>426ab425c9387e68a05bb151d74e49906521e977</commitId><timestamp>1778061421000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `.maestro/README.md` formatting.
</comment><date>2026-05-06 13:57:01 +0400</date><id>426ab425c9387e68a05bb151d74e49906521e977</id><msg>Update `.maestro/README.md` formatting.</msg><path><editType>edit</editType><file>.maestro/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flow-summary/001_002_add_user_direct_test.md</affectedPath><affectedPath>.maestro/flow-summary/001_001_invite_users_using_qr_code_or_link_test.md</affectedPath><affectedPath>.maestro/flow-summary/001_003_login_using_school_link_test.md</affectedPath><affectedPath>.maestro/flow-summary/001_005_add_school_self_registration_test.md</affectedPath><affectedPath>.maestro/flow-summary/002_browse_lessons_test.md</affectedPath><affectedPath>.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_test.md</affectedPath><commitId>df4bd8e47a102ff17962776fc91467fe9276b59f</commitId><timestamp>1778063302000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Refactor Maestro test documentation by consolidating flow summaries.
</comment><date>2026-05-06 14:28:22 +0400</date><id>df4bd8e47a102ff17962776fc91467fe9276b59f</id><msg>Refactor Maestro test documentation by consolidating flow summaries.</msg><path><editType>delete</editType><file>.maestro/flow-summary/001_002_add_user_direct_test.md</file></path><path><editType>edit</editType><file>.maestro/README.md</file></path><path><editType>delete</editType><file>.maestro/flow-summary/002_browse_lessons_test.md</file></path><path><editType>delete</editType><file>.maestro/flow-summary/001_001_invite_users_using_qr_code_or_link_test.md</file></path><path><editType>delete</editType><file>.maestro/flow-summary/001_003_login_using_school_link_test.md</file></path><path><editType>delete</editType><file>.maestro/flow-summary/001_005_add_school_self_registration_test.md</file></path><path><editType>delete</editType><file>.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_test.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><commitId>c1bfccdbe55284ca41957899c8bb93a7f3fdddad</commitId><timestamp>1778063496000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro README.md to use numbered lists for test flow descriptions.
</comment><date>2026-05-06 14:31:36 +0400</date><id>c1bfccdbe55284ca41957899c8bb93a7f3fdddad</id><msg>Update Maestro README.md to use numbered lists for test flow descriptions.</msg><path><editType>edit</editType><file>.maestro/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><commitId>efb7a28407916d1ed6c4a7ae740a0426c4cce9a1</commitId><timestamp>1778067487000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update Maestro README with detailed steps for user management and school registration test flows.
</comment><date>2026-05-06 15:38:07 +0400</date><id>efb7a28407916d1ed6c4a7ae740a0426c4cce9a1</id><msg>Update Maestro README with detailed steps for user management and school registration test flows.</msg><path><editType>edit</editType><file>.maestro/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><commitId>67d616e77479b2ecf04a181441330e602a1cb6b7</commitId><timestamp>1778091684000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Change PERSON_ADMIN_WRITE flag to an explicit permission. Using a value that was not represented by a single 2^x value resulted in errors in the permission check queries not working as expected.

Permission check queries were using a binary and, then checking the result is greater than zero. This is fine when checking for a 2^x value, but not others.
</comment><date>2026-05-06 22:21:24 +0400</date><id>67d616e77479b2ecf04a181441330e602a1cb6b7</id><msg>Change PERSON_ADMIN_WRITE flag to an explicit permission. Using a value that was not represented by a single 2^x value resulted in errors in the permission check queries not working as expected.</msg><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><commitId>93e8ed5b9f0b2414facb4a76d63f604d64d9a31b</commitId><timestamp>1778094911000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix for issue #231.

When a teacher or any other is being approved, this requires permission to add the given user role. Teachers by default have permission to add students and parents, but not other teachers. They should therefor not see the option to approve a teacher registration (only admin can do that).
</comment><date>2026-05-06 23:15:11 +0400</date><id>93e8ed5b9f0b2414facb4a76d63f604d64d9a31b</id><msg>Fix for issue #231.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><commitId>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</commitId><timestamp>1778144240000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Issue #231

Fix logic error that prevented handling admin approval for teacher joining class. Student joining class was working as expected.
</comment><date>2026-05-07 12:57:20 +0400</date><id>de6e9a83bbf380cc39f10da49e4bdca96d65a1fc</id><msg>Issue #231</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>364</buildNumber><marked><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#364</displayName><duration>152676</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #364</fullDisplayName><id>364</id><inProgress>false</inProgress><keepLog>false</keepLog><number>364</number><queueId>8035</queueId><result>SUCCESS</result><timestamp>1778062260255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/364/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>363</buildNumber><marked><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#363</displayName><duration>145368</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #363</fullDisplayName><id>363</id><inProgress>false</inProgress><keepLog>false</keepLog><number>363</number><queueId>8003</queueId><result>SUCCESS</result><timestamp>1777975860255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/363/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>362</buildNumber><marked><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#362</displayName><duration>172052</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #362</fullDisplayName><id>362</id><inProgress>false</inProgress><keepLog>false</keepLog><number>362</number><queueId>7970</queueId><result>SUCCESS</result><timestamp>1777889460255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/362/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>361</buildNumber><marked><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#361</displayName><duration>148366</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #361</fullDisplayName><id>361</id><inProgress>false</inProgress><keepLog>false</keepLog><number>361</number><queueId>7936</queueId><result>SUCCESS</result><timestamp>1777803060255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/361/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><color>blue</color><firstBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>361</buildNumber><marked><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><branch><SHA1>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#361</displayName><duration>148366</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #361</fullDisplayName><id>361</id><inProgress>false</inProgress><keepLog>false</keepLog><number>361</number><queueId>7936</queueId><result>SUCCESS</result><timestamp>1777803060255</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/361/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>380</buildNumber><marked><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#380</displayName><duration>168078</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #380</fullDisplayName><id>380</id><inProgress>false</inProgress><keepLog>false</keepLog><number>380</number><queueId>8563</queueId><result>SUCCESS</result><timestamp>1779271861010</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/380/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>07731c383a17fb4a0b24db0e760868b6e3acd65d</commitId><timestamp>1779185716000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add guideline on understanding code before committing

Added guideline about understanding and explaining code before committing.
</comment><date>2026-05-19 14:15:16 +0400</date><id>07731c383a17fb4a0b24db0e760868b6e3acd65d</id><msg>Add guideline on understanding code before committing</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>18b1fed572b7f8d297d29d9835b62ce9433d97f7</commitId><timestamp>1779186074000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify variable usage in coding guidelines

Added guideline to avoid using two variables for the same purpose.
</comment><date>2026-05-19 14:21:14 +0400</date><id>18b1fed572b7f8d297d29d9835b62ce9433d97f7</id><msg>Clarify variable usage in coding guidelines</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>AGENTS.md</affectedPath><commitId>5faf3ac280de655c20c419f87c90a788297e0488</commitId><timestamp>1779190932000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md to refer to CODING_GUIDELINES.md
</comment><date>2026-05-19 15:42:12 +0400</date><id>5faf3ac280de655c20c419f87c90a788297e0488</id><msg>Update AGENTS.md to refer to CODING_GUIDELINES.md</msg><path><editType>edit</editType><file>AGENTS.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></lastBuild><lastCompletedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>380</buildNumber><marked><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#380</displayName><duration>168078</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #380</fullDisplayName><id>380</id><inProgress>false</inProgress><keepLog>false</keepLog><number>380</number><queueId>8563</queueId><result>SUCCESS</result><timestamp>1779271861010</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/380/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>07731c383a17fb4a0b24db0e760868b6e3acd65d</commitId><timestamp>1779185716000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add guideline on understanding code before committing

Added guideline about understanding and explaining code before committing.
</comment><date>2026-05-19 14:15:16 +0400</date><id>07731c383a17fb4a0b24db0e760868b6e3acd65d</id><msg>Add guideline on understanding code before committing</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>18b1fed572b7f8d297d29d9835b62ce9433d97f7</commitId><timestamp>1779186074000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify variable usage in coding guidelines

Added guideline to avoid using two variables for the same purpose.
</comment><date>2026-05-19 14:21:14 +0400</date><id>18b1fed572b7f8d297d29d9835b62ce9433d97f7</id><msg>Clarify variable usage in coding guidelines</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>AGENTS.md</affectedPath><commitId>5faf3ac280de655c20c419f87c90a788297e0488</commitId><timestamp>1779190932000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md to refer to CODING_GUIDELINES.md
</comment><date>2026-05-19 15:42:12 +0400</date><id>5faf3ac280de655c20c419f87c90a788297e0488</id><msg>Update AGENTS.md to refer to CODING_GUIDELINES.md</msg><path><editType>edit</editType><file>AGENTS.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></lastCompletedBuild><lastFailedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>375</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#375</displayName><duration>188611</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #375</fullDisplayName><id>375</id><inProgress>false</inProgress><keepLog>false</keepLog><number>375</number><queueId>8402</queueId><result>FAILURE</result><timestamp>1778839860994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/375/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></lastFailedBuild><lastStableBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>380</buildNumber><marked><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#380</displayName><duration>168078</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #380</fullDisplayName><id>380</id><inProgress>false</inProgress><keepLog>false</keepLog><number>380</number><queueId>8563</queueId><result>SUCCESS</result><timestamp>1779271861010</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/380/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>07731c383a17fb4a0b24db0e760868b6e3acd65d</commitId><timestamp>1779185716000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add guideline on understanding code before committing

Added guideline about understanding and explaining code before committing.
</comment><date>2026-05-19 14:15:16 +0400</date><id>07731c383a17fb4a0b24db0e760868b6e3acd65d</id><msg>Add guideline on understanding code before committing</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>18b1fed572b7f8d297d29d9835b62ce9433d97f7</commitId><timestamp>1779186074000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify variable usage in coding guidelines

Added guideline to avoid using two variables for the same purpose.
</comment><date>2026-05-19 14:21:14 +0400</date><id>18b1fed572b7f8d297d29d9835b62ce9433d97f7</id><msg>Clarify variable usage in coding guidelines</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>AGENTS.md</affectedPath><commitId>5faf3ac280de655c20c419f87c90a788297e0488</commitId><timestamp>1779190932000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md to refer to CODING_GUIDELINES.md
</comment><date>2026-05-19 15:42:12 +0400</date><id>5faf3ac280de655c20c419f87c90a788297e0488</id><msg>Update AGENTS.md to refer to CODING_GUIDELINES.md</msg><path><editType>edit</editType><file>AGENTS.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></lastStableBuild><lastSuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>380</buildNumber><marked><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><branch><SHA1>34ddd897e5f8d3098c5933dc13e60834bc8f2a45</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-debug.aab</displayPath><fileName>respect-app-compose-debug.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/debug/respect-app-compose-debug.aab</relativePath></artifact><artifact><displayPath>respect-app-compose-release.aab</displayPath><fileName>respect-app-compose-release.aab</fileName><relativePath>respect-app-compose/build/outputs/bundle/release/respect-app-compose-release.aab</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#380</displayName><duration>168078</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #380</fullDisplayName><id>380</id><inProgress>false</inProgress><keepLog>false</keepLog><number>380</number><queueId>8563</queueId><result>SUCCESS</result><timestamp>1779271861010</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/380/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>07731c383a17fb4a0b24db0e760868b6e3acd65d</commitId><timestamp>1779185716000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add guideline on understanding code before committing

Added guideline about understanding and explaining code before committing.
</comment><date>2026-05-19 14:15:16 +0400</date><id>07731c383a17fb4a0b24db0e760868b6e3acd65d</id><msg>Add guideline on understanding code before committing</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CODING_GUIDELINES.md</affectedPath><commitId>18b1fed572b7f8d297d29d9835b62ce9433d97f7</commitId><timestamp>1779186074000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify variable usage in coding guidelines

Added guideline to avoid using two variables for the same purpose.
</comment><date>2026-05-19 14:21:14 +0400</date><id>18b1fed572b7f8d297d29d9835b62ce9433d97f7</id><msg>Clarify variable usage in coding guidelines</msg><path><editType>edit</editType><file>CODING_GUIDELINES.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>AGENTS.md</affectedPath><commitId>5faf3ac280de655c20c419f87c90a788297e0488</commitId><timestamp>1779190932000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md to refer to CODING_GUIDELINES.md
</comment><date>2026-05-19 15:42:12 +0400</date><id>5faf3ac280de655c20c419f87c90a788297e0488</id><msg>Update AGENTS.md to refer to CODING_GUIDELINES.md</msg><path><editType>edit</editType><file>AGENTS.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></lastSuccessfulBuild><lastUnsuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>375</buildNumber><marked><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><branch><SHA1>e5a71f872211b1adc6692b881a207ff34a1d3de0</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli.zip</displayPath><fileName>respect-cli.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.0.zip</displayPath><fileName>respect-server-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.0.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.0.zip</displayPath><fileName>respect-server-shadow-1.0.0.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.0.zip</relativePath></artifact><building>false</building><displayName>#375</displayName><duration>188611</duration><estimatedDuration>163440</estimatedDuration><fullDisplayName>RESPECT-Primary #375</fullDisplayName><id>375</id><inProgress>false</inProgress><keepLog>false</keepLog><number>375</number><queueId>8402</queueId><result>FAILURE</result><timestamp>1778839860994</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary/375/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></lastUnsuccessfulBuild><nextBuildNumber>381</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><property _class='com.coravy.hudson.plugins.github.GithubProjectProperty'></property><property _class='hudson.plugins.throttleconcurrents.ThrottleJobProperty'></property><property _class='org.jenkinsci.plugins.envinject.EnvInjectJobProperty'></property><concurrentBuild>false</concurrentBuild><disabled>false</disabled><scm _class='hudson.plugins.git.GitSCM'><browser _class='hudson.plugins.git.browser.GithubWeb'></browser><type>hudson.plugins.git.GitSCM</type><branche></branche><mergeOptions><fastForwardMode>--ff</fastForwardMode><mergeStrategy>default</mergeStrategy></mergeOptions><userRemoteConfig></userRemoteConfig></scm></freeStyleProject>