<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>38</buildNumber><marked><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><branch><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><branch><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><branch><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#38</displayName><duration>199187</duration><estimatedDuration>160413</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #38</fullDisplayName><id>38</id><inProgress>false</inProgress><keepLog>false</keepLog><number>38</number><queueId>10679</queueId><result>SUCCESS</result><timestamp>1784876520610</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/38/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</affectedPath><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>7b2d6625eaaed04d55771f949cffdf73f592e76e</commitId><timestamp>1784031006000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Improve the robustness and reliability of the Maestro video downloader script and Cypress extraction logic.
</comment><date>2026-07-14 16:10:06 +0400</date><id>7b2d6625eaaed04d55771f949cffdf73f592e76e</id><msg>Improve the robustness and reliability of the Maestro video downloader script and Cypress extraction logic.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</file></path><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_test.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>596c98835491f4252e7ad3cbc9ccd873c60c567e</commitId><timestamp>1784031285000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add `test` tag to Maestro flows and update `ci-run-maestro.sh` to exclude them from CI runs.
</comment><date>2026-07-14 16:14:45 +0400</date><id>596c98835491f4252e7ad3cbc9ccd873c60c567e</id><msg>Add `test` tag to Maestro flows and update `ci-run-maestro.sh` to exclude them from CI runs.</msg><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress.config.js</affectedPath><commitId>7ccafc8cfee40fe841b8760e130bb3c1318ca100</commitId><timestamp>1784033008000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add a logging task to the Cypress configuration for the video downloader.
</comment><date>2026-07-14 16:43:28 +0400</date><id>7ccafc8cfee40fe841b8760e130bb3c1318ca100</id><msg>Add a logging task to the Cypress configuration for the video downloader.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress.config.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_test.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>93c8ccec19e6ce6b015e2b7088bf01ff96a83083</commitId><timestamp>1784034484000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Remove `test` tags from Maestro flows and update CI script to include all tests.
</comment><date>2026-07-14 17:08:04 +0400</date><id>93c8ccec19e6ce6b015e2b7088bf01ff96a83083</id><msg>Remove `test` tags from Maestro flows and update CI script to include all tests.</msg><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/package.json</affectedPath><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>21c5a8affaeab4ae284f0253444697195d601497</commitId><timestamp>1784102409000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `cypress` version to 15.18.1 and clean up comments in the CI script.
</comment><date>2026-07-15 12:00:09 +0400</date><id>21c5a8affaeab4ae284f0253444697195d601497</id><msg>Update `cypress` version to 15.18.1 and clean up comments in the CI script.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path><path><editType>edit</editType><file>.maestro/video-downloader/package.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>5c35c4497aca0b829f2abcc18552777b96228bbd</commitId><timestamp>1784119814000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add debug logging for Node.js, npm, and environment path in `ci-run-cypress.sh`.
</comment><date>2026-07-15 16:50:14 +0400</date><id>5c35c4497aca0b829f2abcc18552777b96228bbd</id><msg>Add debug logging for Node.js, npm, and environment path in `ci-run-cypress.sh`.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>4b9bc829eb844efb49c096ea75a5cbbb80184a4d</commitId><timestamp>1784136523000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `ci-run-cypress.sh` to use Node.js version 20.20.2 via NVM.
</comment><date>2026-07-15 21:28:43 +0400</date><id>4b9bc829eb844efb49c096ea75a5cbbb80184a4d</id><msg>Update `ci-run-cypress.sh` to use Node.js version 20.20.2 via NVM.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>70fa0fa6824295bc4c8dc8b53987c08a1c1ca927</commitId><timestamp>1784138448000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Remove Node version management commands from the Cypress CI script.
</comment><date>2026-07-15 22:00:48 +0400</date><id>70fa0fa6824295bc4c8dc8b53987c08a1c1ca927</id><msg>Remove Node version management commands from the Cypress CI script.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>da4c1bf3617c55aa899f59ba53cde274f2d2b18f</commitId><timestamp>1784183145000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Configure Node.js version 20.20.2 using NVM in the Cypress CI script.
</comment><date>2026-07-16 10:25:45 +0400</date><id>da4c1bf3617c55aa899f59ba53cde274f2d2b18f</id><msg>Configure Node.js version 20.20.2 using NVM in the Cypress CI script.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</affectedPath><commitId>4f9b5317048ff593436053170658a531554bd0f4</commitId><timestamp>1784202446000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `extract-maestro-video-urls.cy.js` to include a pause during OTP polling and improve code comments.
</comment><date>2026-07-16 15:47:26 +0400</date><id>4f9b5317048ff593436053170658a531554bd0f4</id><msg>Update `extract-maestro-video-urls.cy.js` to include a pause during OTP polling and improve code comments.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><commitId>1737734685efcc2457b5612ab841e824e10625bc</commitId><timestamp>1784796984000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update PersonListViewModel: don't load from datasource when not needed on clicking an item in the list in browse mode.
</comment><date>2026-07-23 12:56:24 +0400</date><id>1737734685efcc2457b5612ab841e824e10625bc</id><msg>Update PersonListViewModel: don't load from datasource when not needed on clicking an item in the list in browse mode.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kt</affectedPath><commitId>ef2f4319013473b008b4df5d8be46bd243fdc1ac</commitId><timestamp>1784797367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Removed unused Constants.kt (from Android Studio project template).
</comment><date>2026-07-23 13:02:47 +0400</date><id>ef2f4319013473b008b4df5d8be46bd243fdc1ac</id><msg>Removed unused Constants.kt (from Android Studio project template).</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><commitId>ec6a56271e863c32822010b12d4cb234e05d8eb8</commitId><timestamp>1784874064000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix Opds Subject storage to/from database.
</comment><date>2026-07-24 10:21:04 +0400</date><id>ec6a56271e863c32822010b12d4cb234e05d8eb8</id><msg>Fix Opds Subject storage to/from database.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></freeStyleBuild>