<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>main-login-error-test-end-to-end Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/changes</link><description>main-login-error-test-end-to-end Git changes</description><item><title>#26 Added SchoolcountryDetector. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail0</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail0</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt
</description></item><item><title>#26 added the GetCountryForUrlUseCase to lookup the country for a given URL (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail1</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail1</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt
</description></item><item><title>#26 Added the implementation of the usecase (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail2</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail2</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 set White flag foe unknown country (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail3</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail3</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 Chnage the Endpoint (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail4</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail4</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 Chnage the Endpoint (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail5</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail5</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 Remove the X-forwared-ip (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail6</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail6</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 Remove the white flag (default one being for just test purpose) (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail7</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail7</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
</description></item><item><title>#26 chane the end pointurl (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail8</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail8</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 Add CountryFlag component for displaying flags (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail9</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail9</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
</description></item><item><title>#26 refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail10</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail10</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt
</description></item><item><title>#26 Modify App koin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail11</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail11</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#26 Modify App koin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail12</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail12</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#26 refactor: replace string type with URL for schoolUrl (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail13</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail13</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#26 Modify AppKoin module (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail14</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail14</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#26 Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path. (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail15</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail15</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>app-android/build.gradle.kts
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item><item><title>#26 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail16</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail16</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
app-android/build.gradle.kts
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#26 Make learning unit consistent with demo.openeel.org. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail17</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail17</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README_ADD_YOUR_APP.md
</description></item><item><title>#26 Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail18</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail18</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt
</description></item><item><title>#26 Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail19</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail19</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt
</description></item><item><title>#26 Update UstadCacheImpl.kt and test to improve handling closing the database/cache (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail20</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail20</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
</description></item><item><title>#26 Make maestro tests wait for all pending remote writs to complete. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail21</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail21</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/teardown.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt
</description></item><item><title>#26 Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail22</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail22</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt
</description></item><item><title>#26 Bump version (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail23</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail23</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle.properties
</description></item><item><title>#26 Bump version (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail24</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail24</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle.properties
</description></item><item><title>#26 moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail25</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail25</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/e2e_artifact_upload.yaml
.maestro/flows/subflows/teardown.yaml
</description></item><item><title>#26 Waiting for pending remote writes to complete is done after setting the device back to online. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail26</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail26</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/e2e_artifact_upload.yaml
</description></item><item><title>#26 Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail27</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail27</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt
gradle.properties
</description></item><item><title>#26 Remove concurrency issue: update cache commit backlog size only after db transaction has finished. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail28</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail28</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
</description></item><item><title>#26 fix (lipsa.behera)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail29</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail29</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
</description></item><item><title>#26 GeoIp lookup tidyup (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/main-login-error-test-end-to-end/26/changes#detail30</link><guid isPermaLink="false">job/main-login-error-test-end-to-end/26/changes#detail30</guid><pubDate>Mon, 10 Aug 2026 12:52:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt
app-android/src/main/kotlin/world/respect/AppKoinModule.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt
app-android/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt
respect-lib-shared/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt
</description></item></channel></rss>