<freeStyleProject _class='hudson.model.FreeStyleProject'><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/main-login-error-test-end-to-end/</displayUrl></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description>RESPECT End to end tests.

Note: end-to-end test videos must be downloaded (eg. right click, save link as) and then played after downloading. They cannot be played directly in the browser.</description><displayName>main-login-error-test-end-to-end</displayName><fullDisplayName>main-login-error-test-end-to-end</fullDisplayName><fullName>main-login-error-test-end-to-end</fullName><name>main-login-error-test-end-to-end</name><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>35</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260819_122811.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260819_122811.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260819_122811.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#35</displayName><duration>1455603</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #35</fullDisplayName><id>35</id><inProgress>false</inProgress><keepLog>false</keepLog><number>35</number><queueId>11280</queueId><result>SUCCESS</result><timestamp>1787126640445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/35/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>34</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260818_122815.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260818_122815.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260818_122815.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#34</displayName><duration>1459085</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #34</fullDisplayName><id>34</id><inProgress>false</inProgress><keepLog>false</keepLog><number>34</number><queueId>11261</queueId><result>SUCCESS</result><timestamp>1787040240445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/34/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>33</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260817_122914.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260817_122914.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260817_122914.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#33</displayName><duration>1527556</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #33</fullDisplayName><id>33</id><inProgress>false</inProgress><keepLog>false</keepLog><number>33</number><queueId>11242</queueId><result>SUCCESS</result><timestamp>1786953840445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/33/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>32</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260816_122835.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260816_122835.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260816_122835.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#32</displayName><duration>1489642</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #32</fullDisplayName><id>32</id><inProgress>false</inProgress><keepLog>false</keepLog><number>32</number><queueId>11223</queueId><result>SUCCESS</result><timestamp>1786867440445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/32/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>31</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>1</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260815_122731.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260815_122731.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260815_122731.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#31</displayName><duration>1424823</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #31</fullDisplayName><id>31</id><inProgress>false</inProgress><keepLog>false</keepLog><number>31</number><queueId>11204</queueId><result>FAILURE</result><timestamp>1786781040445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/31/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>30</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>1</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260814_122740.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260814_122740.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260814_122740.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#30</displayName><duration>1423648</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #30</fullDisplayName><id>30</id><inProgress>false</inProgress><keepLog>false</keepLog><number>30</number><queueId>11185</queueId><result>FAILURE</result><timestamp>1786694640445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/30/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>29</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260813_122810.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260813_122810.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260813_122810.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#29</displayName><duration>1454174</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #29</fullDisplayName><id>29</id><inProgress>false</inProgress><keepLog>false</keepLog><number>29</number><queueId>11165</queueId><result>SUCCESS</result><timestamp>1786608240445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/29/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>28</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260812_122908.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260812_122908.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260812_122908.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#28</displayName><duration>1521895</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #28</fullDisplayName><id>28</id><inProgress>false</inProgress><keepLog>false</keepLog><number>28</number><queueId>11143</queueId><result>SUCCESS</result><timestamp>1786521840445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/28/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>27</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260811_122805.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260811_122805.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260811_122805.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#27</displayName><duration>1449270</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #27</fullDisplayName><id>27</id><inProgress>false</inProgress><keepLog>false</keepLog><number>27</number><queueId>11120</queueId><result>SUCCESS</result><timestamp>1786435440445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/27/</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 Mandvi</shortDescription><userId>mandvi</userId><userName>Mandvi</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>26</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260810_131919.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260810_131919.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260810_131919.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#26</displayName><duration>1629233</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #26</fullDisplayName><id>26</id><inProgress>false</inProgress><keepLog>false</keepLog><number>26</number><queueId>11099</queueId><result>SUCCESS</result><timestamp>1786351943900</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</affectedPath><commitId>a4d0150fe26f9ff9b1f9a6de60bdebf753448313</commitId><timestamp>1763017475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Added SchoolcountryDetector.
</comment><date>2025-11-13 12:34:35 +0530</date><id>a4d0150fe26f9ff9b1f9a6de60bdebf753448313</id><msg>Added SchoolcountryDetector.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</affectedPath><commitId>944c26ad8e4e5d9a9ae18eba2bed2f23b2e697c2</commitId><timestamp>1763106745000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>added the GetCountryForUrlUseCase to lookup the country for a given URL
</comment><date>2025-11-14 13:22:25 +0530</date><id>944c26ad8e4e5d9a9ae18eba2bed2f23b2e697c2</id><msg>added the GetCountryForUrlUseCase to lookup the country for a given URL</msg><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/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>0500ce78894c3dbc49d1e7fe491d03ddfedcc8d6</commitId><timestamp>1763111337000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Added the implementation of the usecase
</comment><date>2025-11-14 14:38:57 +0530</date><id>0500ce78894c3dbc49d1e7fe491d03ddfedcc8d6</id><msg>Added the implementation of the usecase</msg><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/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>f50adb6ea129658d30648fd1d9f43aa4f43bc83e</commitId><timestamp>1763359219000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>set White flag foe unknown country
</comment><date>2025-11-17 11:30:19 +0530</date><id>f50adb6ea129658d30648fd1d9f43aa4f43bc83e</id><msg>set White flag foe unknown country</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>857f9bce5a3146eddef726bc3df42cdd398d7951</commitId><timestamp>1763371747000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Chnage the Endpoint
</comment><date>2025-11-17 14:59:07 +0530</date><id>857f9bce5a3146eddef726bc3df42cdd398d7951</id><msg>Chnage the Endpoint</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>6b8cc2c66c44a9e8a5e2628e077b201a4e8817f5</commitId><timestamp>1763372021000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Chnage the Endpoint
</comment><date>2025-11-17 15:03:41 +0530</date><id>6b8cc2c66c44a9e8a5e2628e077b201a4e8817f5</id><msg>Chnage the Endpoint</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>c40888ba7613010725454fcbbcf57031287ecc95</commitId><timestamp>1763376701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Remove the X-forwared-ip
</comment><date>2025-11-17 16:21:41 +0530</date><id>c40888ba7613010725454fcbbcf57031287ecc95</id><msg>Remove the X-forwared-ip</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><commitId>c2445729a2db6f36e205a21dec7aab5f7fb86d66</commitId><timestamp>1763378720000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Remove the white flag (default one being for just test purpose)
</comment><date>2025-11-17 16:55:20 +0530</date><id>c2445729a2db6f36e205a21dec7aab5f7fb86d66</id><msg>Remove the white flag (default one being for just test purpose)</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>5825298a09081127a6af65f4ba6556e3c7afdee3</commitId><timestamp>1763455135000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>chane the end pointurl
</comment><date>2025-11-18 14:08:55 +0530</date><id>5825298a09081127a6af65f4ba6556e3c7afdee3</id><msg>chane the end pointurl</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>c9185422cfdbed15882baf3b4841044baab8c72c</commitId><timestamp>1763540629000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Add CountryFlag component for displaying flags
</comment><date>2025-11-19 13:53:49 +0530</date><id>c9185422cfdbed15882baf3b4841044baab8c72c</id><msg>Add CountryFlag component for displaying flags</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>8e5f308aa64fb2e503a3f1f54b0113338b097bbc</commitId><timestamp>1763626996000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase.
</comment><date>2025-11-20 13:53:16 +0530</date><id>8e5f308aa64fb2e503a3f1f54b0113338b097bbc</id><msg>refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>30564c242c9ad4b487ec539a99fe6edae373c000</commitId><timestamp>1763627461000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify App koin module
</comment><date>2025-11-20 14:01:01 +0530</date><id>30564c242c9ad4b487ec539a99fe6edae373c000</id><msg>Modify App koin module</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>183fb85b03da17049b9ef0da7091dfd63fddc39d</commitId><timestamp>1763630034000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify App koin module
</comment><date>2025-11-20 14:43:54 +0530</date><id>183fb85b03da17049b9ef0da7091dfd63fddc39d</id><msg>Modify App koin module</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>d3d88c4c5598d5b42ab6d7d15b1a30fdb8721bcb</commitId><timestamp>1763954560000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor: replace string type with URL for schoolUrl
</comment><date>2025-11-24 08:52:40 +0530</date><id>d3d88c4c5598d5b42ab6d7d15b1a30fdb8721bcb</id><msg>refactor: replace string type with URL for schoolUrl</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>ceca96a09687e8f649d769132601772cf9a478a4</commitId><timestamp>1763977117000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify AppKoin module
</comment><date>2025-11-24 15:08:37 +0530</date><id>ceca96a09687e8f649d769132601772cf9a478a4</id><msg>Modify AppKoin module</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>1bec94de8fef638f449fcbfe56713770973b71c8</commitId><timestamp>1785848961000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path.
</comment><date>2026-08-04 18:39:21 +0530</date><id>1bec94de8fef638f449fcbfe56713770973b71c8</id><msg>Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>4386799be9c5738c67c4e41f7b089fa306498448</commitId><timestamp>1785857096000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-08-04 20:54:56 +0530</date><id>4386799be9c5738c67c4e41f7b089fa306498448</id><msg>fix</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>d997498330fa70ab311cd65d2f24b5153d73d06a</commitId><timestamp>1785918823000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make learning unit consistent with demo.openeel.org.
</comment><date>2026-08-05 12:33:43 +0400</date><id>d997498330fa70ab311cd65d2f24b5153d73d06a</id><msg>Make learning unit consistent with demo.openeel.org.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><commitId>6dfef8e4a6ddbf8e01c8925f31bae2ab65add74f</commitId><timestamp>1785922180000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt
</comment><date>2026-08-05 13:29:40 +0400</date><id>6dfef8e4a6ddbf8e01c8925f31bae2ab65add74f</id><msg>Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><commitId>e29231d5cf47ca457cbc1c28690ebb7eeb85ab04</commitId><timestamp>1785927677000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed.
</comment><date>2026-08-05 15:01:17 +0400</date><id>e29231d5cf47ca457cbc1c28690ebb7eeb85ab04</id><msg>Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><commitId>91a9a7096117da5433c92a5129b6ac297918040d</commitId><timestamp>1785930490000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UstadCacheImpl.kt and test to improve handling closing the database/cache
</comment><date>2026-08-05 15:48:10 +0400</date><id>91a9a7096117da5433c92a5129b6ac297918040d</id><msg>Update UstadCacheImpl.kt and test to improve handling closing the database/cache</msg><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/teardown.yaml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><commitId>0402fc938ae40bc5e9a5b8a496a5afa41e7f6407</commitId><timestamp>1785931455000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make maestro tests wait for all pending remote writs to complete.

Add a small hidden text element with the pending remote write count that a maestro test can wait for (avoid clearing the app before saved data is written to server).
</comment><date>2026-08-05 16:04:15 +0400</date><id>0402fc938ae40bc5e9a5b8a496a5afa41e7f6407</id><msg>Make maestro tests wait for all pending remote writs to complete.</msg><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><commitId>6fd710da694f06f076eb3e389ac7f145690f9d63</commitId><timestamp>1785952438000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver.

Update UstadCacheInterceptorTest to close mockwebserver after each run.
</comment><date>2026-08-05 21:53:58 +0400</date><id>6fd710da694f06f076eb3e389ac7f145690f9d63</id><msg>Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver.</msg><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>74b3e6c5e4f5642ca08c7d494992ad27607f75c7</commitId><timestamp>1785953030000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-05 22:03:50 +0400</date><id>74b3e6c5e4f5642ca08c7d494992ad27607f75c7</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>d6a65d188370e080d078ee87dcf2ec054d03309e</commitId><timestamp>1785953050000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-05 22:04:10 +0400</date><id>d6a65d188370e080d078ee87dcf2ec054d03309e</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><affectedPath>.maestro/flows/subflows/teardown.yaml</affectedPath><commitId>74df52d811dbfecc0f22f2df7a33faa78eb8c0f3</commitId><timestamp>1785996886000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml
</comment><date>2026-08-06 10:14:46 +0400</date><id>74df52d811dbfecc0f22f2df7a33faa78eb8c0f3</id><msg>moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml</msg><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><commitId>abf298829e847550c020cbfb63f03272a0f66b4a</commitId><timestamp>1786000260000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Waiting for pending remote writes to complete is done after setting the device back to online.
</comment><date>2026-08-06 11:11:00 +0400</date><id>abf298829e847550c020cbfb63f03272a0f66b4a</id><msg>Waiting for pending remote writes to complete is done after setting the device back to online.</msg><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>7172569c153a05ff49006cb9a94a64443443575c</commitId><timestamp>1786003014000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version.
</comment><date>2026-08-06 11:56:54 +0400</date><id>7172569c153a05ff49006cb9a94a64443443575c</id><msg>Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><commitId>12fdd918e68b5bb65cbf3e7118c21a5e92a98651</commitId><timestamp>1786003662000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove concurrency issue: update cache commit backlog size only after db transaction has finished.
</comment><date>2026-08-06 12:07:42 +0400</date><id>12fdd918e68b5bb65cbf3e7118c21a5e92a98651</id><msg>Remove concurrency issue: update cache commit backlog size only after db transaction has finished.</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>fcbe0ced3524bf02db779ed27cfd7b875a632a24</commitId><timestamp>1786018385000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-08-06 17:43:05 +0530</date><id>fcbe0ced3524bf02db779ed27cfd7b875a632a24</id><msg>fix</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>ef805d54e6f20b3572f3c636dcbde9e832ca93cc</commitId><timestamp>1786278826000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>GeoIp lookup tidyup
</comment><date>2026-08-09 16:33:46 +0400</date><id>ef805d54e6f20b3572f3c636dcbde9e832ca93cc</id><msg>GeoIp lookup tidyup</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/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><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit></build><color>blue</color><firstBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mandvi</shortDescription><userId>mandvi</userId><userName>Mandvi</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>26</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260810_131919.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260810_131919.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260810_131919.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#26</displayName><duration>1629233</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #26</fullDisplayName><id>26</id><inProgress>false</inProgress><keepLog>false</keepLog><number>26</number><queueId>11099</queueId><result>SUCCESS</result><timestamp>1786351943900</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</affectedPath><commitId>a4d0150fe26f9ff9b1f9a6de60bdebf753448313</commitId><timestamp>1763017475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Added SchoolcountryDetector.
</comment><date>2025-11-13 12:34:35 +0530</date><id>a4d0150fe26f9ff9b1f9a6de60bdebf753448313</id><msg>Added SchoolcountryDetector.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</affectedPath><commitId>944c26ad8e4e5d9a9ae18eba2bed2f23b2e697c2</commitId><timestamp>1763106745000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>added the GetCountryForUrlUseCase to lookup the country for a given URL
</comment><date>2025-11-14 13:22:25 +0530</date><id>944c26ad8e4e5d9a9ae18eba2bed2f23b2e697c2</id><msg>added the GetCountryForUrlUseCase to lookup the country for a given URL</msg><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/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>0500ce78894c3dbc49d1e7fe491d03ddfedcc8d6</commitId><timestamp>1763111337000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Added the implementation of the usecase
</comment><date>2025-11-14 14:38:57 +0530</date><id>0500ce78894c3dbc49d1e7fe491d03ddfedcc8d6</id><msg>Added the implementation of the usecase</msg><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/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>f50adb6ea129658d30648fd1d9f43aa4f43bc83e</commitId><timestamp>1763359219000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>set White flag foe unknown country
</comment><date>2025-11-17 11:30:19 +0530</date><id>f50adb6ea129658d30648fd1d9f43aa4f43bc83e</id><msg>set White flag foe unknown country</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>857f9bce5a3146eddef726bc3df42cdd398d7951</commitId><timestamp>1763371747000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Chnage the Endpoint
</comment><date>2025-11-17 14:59:07 +0530</date><id>857f9bce5a3146eddef726bc3df42cdd398d7951</id><msg>Chnage the Endpoint</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>6b8cc2c66c44a9e8a5e2628e077b201a4e8817f5</commitId><timestamp>1763372021000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Chnage the Endpoint
</comment><date>2025-11-17 15:03:41 +0530</date><id>6b8cc2c66c44a9e8a5e2628e077b201a4e8817f5</id><msg>Chnage the Endpoint</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>c40888ba7613010725454fcbbcf57031287ecc95</commitId><timestamp>1763376701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Remove the X-forwared-ip
</comment><date>2025-11-17 16:21:41 +0530</date><id>c40888ba7613010725454fcbbcf57031287ecc95</id><msg>Remove the X-forwared-ip</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><commitId>c2445729a2db6f36e205a21dec7aab5f7fb86d66</commitId><timestamp>1763378720000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Remove the white flag (default one being for just test purpose)
</comment><date>2025-11-17 16:55:20 +0530</date><id>c2445729a2db6f36e205a21dec7aab5f7fb86d66</id><msg>Remove the white flag (default one being for just test purpose)</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>5825298a09081127a6af65f4ba6556e3c7afdee3</commitId><timestamp>1763455135000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>chane the end pointurl
</comment><date>2025-11-18 14:08:55 +0530</date><id>5825298a09081127a6af65f4ba6556e3c7afdee3</id><msg>chane the end pointurl</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>c9185422cfdbed15882baf3b4841044baab8c72c</commitId><timestamp>1763540629000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Add CountryFlag component for displaying flags
</comment><date>2025-11-19 13:53:49 +0530</date><id>c9185422cfdbed15882baf3b4841044baab8c72c</id><msg>Add CountryFlag component for displaying flags</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>8e5f308aa64fb2e503a3f1f54b0113338b097bbc</commitId><timestamp>1763626996000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase.
</comment><date>2025-11-20 13:53:16 +0530</date><id>8e5f308aa64fb2e503a3f1f54b0113338b097bbc</id><msg>refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>30564c242c9ad4b487ec539a99fe6edae373c000</commitId><timestamp>1763627461000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify App koin module
</comment><date>2025-11-20 14:01:01 +0530</date><id>30564c242c9ad4b487ec539a99fe6edae373c000</id><msg>Modify App koin module</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>183fb85b03da17049b9ef0da7091dfd63fddc39d</commitId><timestamp>1763630034000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify App koin module
</comment><date>2025-11-20 14:43:54 +0530</date><id>183fb85b03da17049b9ef0da7091dfd63fddc39d</id><msg>Modify App koin module</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>d3d88c4c5598d5b42ab6d7d15b1a30fdb8721bcb</commitId><timestamp>1763954560000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>refactor: replace string type with URL for schoolUrl
</comment><date>2025-11-24 08:52:40 +0530</date><id>d3d88c4c5598d5b42ab6d7d15b1a30fdb8721bcb</id><msg>refactor: replace string type with URL for schoolUrl</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>ceca96a09687e8f649d769132601772cf9a478a4</commitId><timestamp>1763977117000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify AppKoin module
</comment><date>2025-11-24 15:08:37 +0530</date><id>ceca96a09687e8f649d769132601772cf9a478a4</id><msg>Modify AppKoin module</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>1bec94de8fef638f449fcbfe56713770973b71c8</commitId><timestamp>1785848961000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path.
</comment><date>2026-08-04 18:39:21 +0530</date><id>1bec94de8fef638f449fcbfe56713770973b71c8</id><msg>Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>4386799be9c5738c67c4e41f7b089fa306498448</commitId><timestamp>1785857096000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-08-04 20:54:56 +0530</date><id>4386799be9c5738c67c4e41f7b089fa306498448</id><msg>fix</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>d997498330fa70ab311cd65d2f24b5153d73d06a</commitId><timestamp>1785918823000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make learning unit consistent with demo.openeel.org.
</comment><date>2026-08-05 12:33:43 +0400</date><id>d997498330fa70ab311cd65d2f24b5153d73d06a</id><msg>Make learning unit consistent with demo.openeel.org.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><commitId>6dfef8e4a6ddbf8e01c8925f31bae2ab65add74f</commitId><timestamp>1785922180000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt
</comment><date>2026-08-05 13:29:40 +0400</date><id>6dfef8e4a6ddbf8e01c8925f31bae2ab65add74f</id><msg>Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><commitId>e29231d5cf47ca457cbc1c28690ebb7eeb85ab04</commitId><timestamp>1785927677000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed.
</comment><date>2026-08-05 15:01:17 +0400</date><id>e29231d5cf47ca457cbc1c28690ebb7eeb85ab04</id><msg>Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><commitId>91a9a7096117da5433c92a5129b6ac297918040d</commitId><timestamp>1785930490000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UstadCacheImpl.kt and test to improve handling closing the database/cache
</comment><date>2026-08-05 15:48:10 +0400</date><id>91a9a7096117da5433c92a5129b6ac297918040d</id><msg>Update UstadCacheImpl.kt and test to improve handling closing the database/cache</msg><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/teardown.yaml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><commitId>0402fc938ae40bc5e9a5b8a496a5afa41e7f6407</commitId><timestamp>1785931455000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make maestro tests wait for all pending remote writs to complete.

Add a small hidden text element with the pending remote write count that a maestro test can wait for (avoid clearing the app before saved data is written to server).
</comment><date>2026-08-05 16:04:15 +0400</date><id>0402fc938ae40bc5e9a5b8a496a5afa41e7f6407</id><msg>Make maestro tests wait for all pending remote writs to complete.</msg><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><commitId>6fd710da694f06f076eb3e389ac7f145690f9d63</commitId><timestamp>1785952438000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver.

Update UstadCacheInterceptorTest to close mockwebserver after each run.
</comment><date>2026-08-05 21:53:58 +0400</date><id>6fd710da694f06f076eb3e389ac7f145690f9d63</id><msg>Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver.</msg><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>74b3e6c5e4f5642ca08c7d494992ad27607f75c7</commitId><timestamp>1785953030000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-05 22:03:50 +0400</date><id>74b3e6c5e4f5642ca08c7d494992ad27607f75c7</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>d6a65d188370e080d078ee87dcf2ec054d03309e</commitId><timestamp>1785953050000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-05 22:04:10 +0400</date><id>d6a65d188370e080d078ee87dcf2ec054d03309e</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><affectedPath>.maestro/flows/subflows/teardown.yaml</affectedPath><commitId>74df52d811dbfecc0f22f2df7a33faa78eb8c0f3</commitId><timestamp>1785996886000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml
</comment><date>2026-08-06 10:14:46 +0400</date><id>74df52d811dbfecc0f22f2df7a33faa78eb8c0f3</id><msg>moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml</msg><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><commitId>abf298829e847550c020cbfb63f03272a0f66b4a</commitId><timestamp>1786000260000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Waiting for pending remote writes to complete is done after setting the device back to online.
</comment><date>2026-08-06 11:11:00 +0400</date><id>abf298829e847550c020cbfb63f03272a0f66b4a</id><msg>Waiting for pending remote writes to complete is done after setting the device back to online.</msg><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>7172569c153a05ff49006cb9a94a64443443575c</commitId><timestamp>1786003014000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version.
</comment><date>2026-08-06 11:56:54 +0400</date><id>7172569c153a05ff49006cb9a94a64443443575c</id><msg>Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><commitId>12fdd918e68b5bb65cbf3e7118c21a5e92a98651</commitId><timestamp>1786003662000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove concurrency issue: update cache commit backlog size only after db transaction has finished.
</comment><date>2026-08-06 12:07:42 +0400</date><id>12fdd918e68b5bb65cbf3e7118c21a5e92a98651</id><msg>Remove concurrency issue: update cache commit backlog size only after db transaction has finished.</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>fcbe0ced3524bf02db779ed27cfd7b875a632a24</commitId><timestamp>1786018385000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>fix
</comment><date>2026-08-06 17:43:05 +0530</date><id>fcbe0ced3524bf02db779ed27cfd7b875a632a24</id><msg>fix</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>ef805d54e6f20b3572f3c636dcbde9e832ca93cc</commitId><timestamp>1786278826000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>GeoIp lookup tidyup
</comment><date>2026-08-09 16:33:46 +0400</date><id>ef805d54e6f20b3572f3c636dcbde9e832ca93cc</id><msg>GeoIp lookup tidyup</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/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><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit></firstBuild><healthReport><description>Build stability: 1 out of the last 5 builds failed.</description><iconClassName>icon-health-60to79</iconClassName><iconUrl>health-60to79.png</iconUrl><score>80</score></healthReport><healthReport><description>Tests: 0 tests failing out of a total of 7 tests.</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>35</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260819_122811.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260819_122811.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260819_122811.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#35</displayName><duration>1455603</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #35</fullDisplayName><id>35</id><inProgress>false</inProgress><keepLog>false</keepLog><number>35</number><queueId>11280</queueId><result>SUCCESS</result><timestamp>1787126640445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/35/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>35</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260819_122811.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260819_122811.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260819_122811.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#35</displayName><duration>1455603</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #35</fullDisplayName><id>35</id><inProgress>false</inProgress><keepLog>false</keepLog><number>35</number><queueId>11280</queueId><result>SUCCESS</result><timestamp>1787126640445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/35/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>31</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>1</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260815_122731.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260815_122731.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260815_122731.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#31</displayName><duration>1424823</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #31</fullDisplayName><id>31</id><inProgress>false</inProgress><keepLog>false</keepLog><number>31</number><queueId>11204</queueId><result>FAILURE</result><timestamp>1786781040445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/31/</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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>35</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260819_122811.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260819_122811.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260819_122811.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#35</displayName><duration>1455603</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #35</fullDisplayName><id>35</id><inProgress>false</inProgress><keepLog>false</keepLog><number>35</number><queueId>11280</queueId><result>SUCCESS</result><timestamp>1787126640445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/35/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>35</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260819_122811.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260819_122811.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260819_122811.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#35</displayName><duration>1455603</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #35</fullDisplayName><id>35</id><inProgress>false</inProgress><keepLog>false</keepLog><number>35</number><queueId>11280</queueId><result>SUCCESS</result><timestamp>1787126640445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/35/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></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-login-error-test _class='hudson.plugins.git.util.Build'><buildNumber>31</buildNumber><marked><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></marked><revision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></revision></refsremotesoriginmain-login-error-test></buildsByBranchName><lastBuiltRevision><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><branch><SHA1>0d94ee140c7b02af87bb9b823409b212bfa0930f</SHA1><name>refs/remotes/origin/main-login-error-test</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>1</failCount><skipCount>0</skipCount><totalCount>7</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test_.mp4</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_001_invite_users_using_qr_code_or_link_test_.mp4</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test_.mp4</displayPath><fileName>001_002_add_user_direct_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test_.mp4</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test_.mp4</displayPath><fileName>001_003_login_using_school_link_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test_.mp4</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test_.mp4</displayPath><fileName>002_001_browse_lessons_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_001_browse_lessons_test_.mp4</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test_.mp4</displayPath><fileName>002_002_browse_demo_app_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/002_002_browse_demo_app_test_.mp4</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test_.mp4</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test_.mp4</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test_.mp4</displayPath><fileName>006_user_send_feedback_test_.mp4</fileName><relativePath>.maestro/video-downloader/cypress/downloads/006_user_send_feedback_test_.mp4</relativePath></artifact><artifact><displayPath>001_001_invite_users_using_qr_code_or_link_test.png</displayPath><fileName>001_001_invite_users_using_qr_code_or_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_users_using_qr_code_or_link_test.png</relativePath></artifact><artifact><displayPath>001_002_add_user_direct_test.png</displayPath><fileName>001_002_add_user_direct_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png</relativePath></artifact><artifact><displayPath>001_003_login_using_school_link_test.png</displayPath><fileName>001_003_login_using_school_link_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png</relativePath></artifact><artifact><displayPath>002_001_browse_lessons_test.png</displayPath><fileName>002_001_browse_lessons_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_001_browse_lessons_test.png</relativePath></artifact><artifact><displayPath>002_002_browse_demo_app_test.png</displayPath><fileName>002_002_browse_demo_app_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_002_browse_demo_app_test.png</relativePath></artifact><artifact><displayPath>003_admin_user_assigns_assignment_to_a_class_test.png</displayPath><fileName>003_admin_user_assigns_assignment_to_a_class_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png</relativePath></artifact><artifact><displayPath>006_user_send_feedback_test.png</displayPath><fileName>006_user_send_feedback_test.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/006_user_send_feedback_test.png</relativePath></artifact><artifact><displayPath>00_Main_Dashboard.png</displayPath><fileName>00_Main_Dashboard.png</fileName><relativePath>.maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png</relativePath></artifact><artifact><displayPath>EndToEnd_Test_Artifacts_20260815_122731.zip</displayPath><fileName>EndToEnd_Test_Artifacts_20260815_122731.zip</fileName><relativePath>build/ci-e2e/artifacts/EndToEnd_Test_Artifacts_20260815_122731.zip</relativePath></artifact><artifact><displayPath>respect-cli-1.0.38.zip</displayPath><fileName>respect-cli-1.0.38.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.38.zip</displayPath><fileName>respect-server-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.38.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.38.zip</displayPath><fileName>respect-server-shadow-1.0.38.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.38.zip</relativePath></artifact><building>false</building><displayName>#31</displayName><duration>1424823</duration><estimatedDuration>1480748</estimatedDuration><fullDisplayName>main-login-error-test-end-to-end #31</fullDisplayName><id>31</id><inProgress>false</inProgress><keepLog>false</keepLog><number>31</number><queueId>11204</queueId><result>FAILURE</result><timestamp>1786781040445</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/31/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></lastUnsuccessfulBuild><nextBuildNumber>36</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><property _class='hudson.plugins.throttleconcurrents.ThrottleJobProperty'></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>