<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Lipsa Behera</shortDescription><userId>lipsa</userId><userName>Lipsa Behera</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigindev-playlists-links _class='hudson.plugins.git.util.Build'><buildNumber>26</buildNumber><marked><SHA1>5426e651e1d60b65bf32f547b880bd22c99361b0</SHA1><branch><SHA1>5426e651e1d60b65bf32f547b880bd22c99361b0</SHA1><name>refs/remotes/origin/dev-playlists-links</name></branch></marked><revision><SHA1>5426e651e1d60b65bf32f547b880bd22c99361b0</SHA1><branch><SHA1>5426e651e1d60b65bf32f547b880bd22c99361b0</SHA1><name>refs/remotes/origin/dev-playlists-links</name></branch></revision></refsremotesorigindev-playlists-links></buildsByBranchName><lastBuiltRevision><SHA1>5426e651e1d60b65bf32f547b880bd22c99361b0</SHA1><branch><SHA1>5426e651e1d60b65bf32f547b880bd22c99361b0</SHA1><name>refs/remotes/origin/dev-playlists-links</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'><artifactsUrl>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/artifact</artifactsUrl><changesUrl>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/changes</changesUrl><displayUrl>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/</displayUrl><testsUrl>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/testReport</testsUrl></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>#26</displayName><duration>128003</duration><estimatedDuration>161845</estimatedDuration><fullDisplayName>dev-playlists-links #26</fullDisplayName><id>26</id><inProgress>false</inProgress><keepLog>false</keepLog><number>26</number><queueId>8263</queueId><result>SUCCESS</result><timestamp>1778559963306</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>d69440b5f38c231f20596ad54b7bd1f4cabbbe84</commitId><timestamp>1777274442000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update README.md

Update README.md to clarify logging in as admin after adding school
</comment><date>2026-04-27 11:20:42 +0400</date><id>d69440b5f38c231f20596ad54b7bd1f4cabbbe84</id><msg>Update README.md</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>18fe79f83c8f8ba2dfb2d78ab7782930d7c2114a</commitId><timestamp>1777536155000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Initial installatoin instructions for RESPECT server binary installation

Initial installatoin instructions for RESPECT server binary installation
</comment><date>2026-04-30 12:02:35 +0400</date><id>18fe79f83c8f8ba2dfb2d78ab7782930d7c2114a</id><msg>Initial installatoin instructions for RESPECT server binary installation</msg><path><editType>add</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>INSTALL.md</affectedPath><commitId>6b466c061a8f40a502185c9f650ef992155a88cc</commitId><timestamp>1777537240000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add respect-server.service and update INSTALL.md
</comment><date>2026-04-30 12:20:40 +0400</date><id>6b466c061a8f40a502185c9f650ef992155a88cc</id><msg>Add respect-server.service and update INSTALL.md</msg><path><editType>edit</editType><file>INSTALL.md</file></path><path><editType>add</editType><file>respect-server/src/dist/systemd/respect-server.service</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</commitId><timestamp>1777539382000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make example IP address consistent on INSTALL.md
</comment><date>2026-04-30 12:56:22 +0400</date><id>8aa8a7446b0b0d821cf7fcb85aa5d4966f7db9b0</id><msg>Make example IP address consistent on INSTALL.md</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><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>edit</editType><file>.maestro/README.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/002_browse_lessons_test.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_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_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/README.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>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/006_user_signup_using_passkey_test_description.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/001_002_add_user_direct_test.md</file></path><path><editType>add</editType><file>.maestro/flow-summary/001_003_login_using_school_link_test.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/002_browse_lessons_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/003_admin_user_assigns_assignment_to_a_class_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_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/001_005_add_school_self_registration_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/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.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-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/CheckPersonPermissionUseCase.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.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/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-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><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path></item><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>delete</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>add</editType><file>.maestro/flows-disabled/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path></item><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>add</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.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>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.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-lib-shared/src/commonMain/composeResources/values/strings.xml</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.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-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</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><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName><id>noreply</id></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName><id>mike</id></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><description></description><fullName>Pooja Ravi</fullName><id>pooja</id></culprit></freeStyleBuild>