Skip to content

chore: main to develop [skip size]#4963

Merged
mmmateos merged 18 commits into
developfrom
auxiliar-main
Jul 9, 2026
Merged

chore: main to develop [skip size]#4963
mmmateos merged 18 commits into
developfrom
auxiliar-main

Conversation

@mmmateos

@mmmateos mmmateos commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Description

Link the JIRA issue.

Please provide a clear definition of the problem and explain your solution.

xavimolloy and others added 12 commits June 17, 2026 11:44
…en the user manually checks for updates in the Settings menu (#4927)
Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
…ctivity (#4917)

* fix: [ANDROAPP-7658] Do not display sync infobar if teiDashboard is displayed from the event capture activity

* fix: [ANDROAPP-7658] fix unit tests

* fix: [ANDROAPP-7658] hide sync button in landscape when creating new events
…tadata sync (#4933)

* Rechecks navigational bar server config after metadata sync

* Fix integration tests of MainViewModel
#4919)

* fix: [ANDROAPP-7664] Improve load time of dashboard screen

* Remove default analytics related tests

* set runTest in dashboardViewModelTest

* fix dashboard android tests

* revert changes to AndroidIdlingResource.kt

* chained events calling increment

* remove unnecessary ui thread call

* use unconditional coroutine tracker methods

* use unconditional coroutine tracker methods

* fix infinite collection in CredentialsViewModel.kt

* add decrement to error flow

* test: [ANDROAPP-7664] decrement idling resource on error in note detail presenter

* force decrement to idle

* fix sonarcloud comments

* do not retry on timeout

* Root cause — DashboardViewModel.navigationBarUIState used NavigationBarUIState(items=emptyList(), TEIDashboardItems.DETAILS) as the stateIn initial value. This caused
  the LaunchedEffect in TeiDashboardMobileActivity to immediately navigate to TEIDataFragment (the DETAILS tab) on first composition, even in landscape mode where the
  DETAILS tab isn't displayed.

  loadNavigationBarItems() would then quickly determine DETAILS shouldn't be shown in landscape and switch the selected item to the first real tab (ANALYTICS, NOTES,
  etc.), causing TEIDataFragment to be immediately paused. onPause() calls presenter.onDettach() → compositeDisposable.clear(), but because the outer switchMap
  subscription uses subscribeOn(io), the increment() inside the switchMap body can run asynchronously on the IO thread after the clear. This left
  TeiDataIdlingResourceSingleton's counter stuck at 1 — TEI_DATA never became idle — and Espresso timed out.

  Fix (DashboardViewModel.kt) — Changed the stateIn initial value from NavigationBarUIState(items=emptyList(), TEIDashboardItems.DETAILS) to NavigationBarUIState() (null
  selectedItem). This means:
  - No fragment navigation happens until loadNavigationBarItems() completes with the actual items
  - In landscape, TEIDataFragment is never created and TEI_DATA stays idle
  - In portrait, navigation to DETAILS happens once (after nav items load), exactly the same net result as before

---------

Co-authored-by: Xavier Molloy <xavi@dhis2.org>
* build: Release 3.4.1

* update release notes

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>

* chore: update dependency verification metadata

---------

Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: Manu Muñoz <manu.munoz@dhis2.org>
Co-authored-by: @dhis2-bot <apps@dhis2.org>
 build: Release 3.4.1 [skip size]
@mmmateos mmmateos changed the title chore: main to develop chore: main to develop [skip size] Jul 7, 2026
andresmr added 5 commits July 8, 2026 10:49
# Conflicts:
#	app/src/main/java/org/dhis2/data/service/SyncPresenterImpl.kt
#	app/src/main/java/org/dhis2/usescases/main/MainModule.kt
#	app/src/test/java/org/dhis2/usescases/main/MainViewModelIntegrationTest.kt
#	app/src/test/java/org/dhis2/usescases/main/MainViewModelTest.kt
#	dhis_android_analytics/src/main/java/dhis2/org/analytics/charts/ChartsRepositoryImpl.kt
#	dhis_android_analytics/src/main/java/dhis2/org/analytics/charts/di/ChartsModule.kt
#	dhis_android_analytics/src/test/java/dhis2/org/analytics/charts/ChartsRepositoryTest.kt
#	gradle/libs.versions.toml
#	login/src/commonMain/kotlin/org/dhis2/mobile/login/main/ui/viewmodel/CredentialsViewModel.kt
@sonarqubecloud

sonarqubecloud Bot commented Jul 9, 2026

Copy link
Copy Markdown

@mmmateos mmmateos merged commit aa263b1 into develop Jul 9, 2026
15 checks passed
@mmmateos mmmateos deleted the auxiliar-main branch July 9, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants