- Add roborazzi-compose-desktop and roborazzi-compose-ios dependencies
- Create JVM Desktop and iOS screenshot helpers in core:screenshot-testing
- Add Android screenshot tests for interests, bookmarks, topic, search, settings
- Add JVM Desktop screenshot tests for all feature modules
- Update all feature module build configs with roborazzi plugin and test deps
- Remove dead Hilt-based testDemo tests from app module
- Remove duplicate screenshot baselines from androidUnitTest/screenshots dirs
- Update CI pipeline with JVM Desktop screenshot verification steps
- Update README migration status for core:screenshot-testing
- Bump actions/setup-java@v4 → @v5 in CI workflows (upstream #1970)
- Use sdkComponents.aapt2 API instead of manual SDK path in Badging.kt
(upstream #2017), removing need for BaseExtension parameter
- Fix typo "analyse" → "analyze" in README.md (upstream #2021)
Update KMP string resource usage in TopicScreenTest, restore lifecycle-based undo clearing in bookmarks, and stabilize SyncWorkerTest to validate startup request configuration without depending on runtime Koin initialization.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move test-only dependencies out of commonMain to stop androidx.test classes leaking into app runtime, which fixes missing ActivityInvoker in the test APK. Also update instrumented tests to use Compose resource APIs correctly, make navigation assertions resilient to emulator back-stack variance, and use version-catalog lifecycle testing deps where required.
Disable mainClock.autoAdvance in captureForDevice and captureMultiTheme
before calling onRoot(), so infinite animations (e.g. NiaLoadingWheel)
don't block Espresso idle synchronization in Compose 1.8.0.
Move core:screenshotTesting from commonTest to androidUnitTest dependencies
to prevent Robolectric's LocalPermissionGranter from leaking into the
instrumented test classpath via KotlinSourceSetTree.test. Add explicit
espresso-core dependency to androidInstrumentedTest.
Upgrade build toolchain (Gradle 8.13, AGP 8.13.0, Kotlin 2.1.20, KSP 2.1.20-1.0.32),
Compose Multiplatform 1.8.0, and all core/test/AndroidX libraries to their latest versions
compatible with Kotlin 2.1.20. Fix all resulting API breakages including Koin 4.1.0 startup,
material3-adaptive suspend navigation, JVM target consistency, and AGP managed device API changes.
Add isIncludeAndroidResources to CmpFeatureConventionPlugin so
Robolectric can discover the test manifest with ComponentActivity.
Add missing compose UI test dependencies to feature:foryou.
- Remove demo/prod flavor references from CI workflow (flavors were
removed during KMP migration)
- Replace tasks.create with tasks.register in convention plugins to fix
EagerGradleConfiguration lint error
- Remove HiltTestApplication references from screenshot and UI tests
(Hilt was replaced by Koin)
- Add Compose plugins to core:screenshot-testing for inline method
resolution
- Add androidx.navigation.testing dependency to feature:topic and
feature:interests for SavedStateHandle.toRoute
- Fix ViewModel tests in commonTest by setting up Dispatchers.Main
(bookmarks, settings)
- Uncomment TopicRoute in TopicViewModelTest SavedStateHandle setup
- Replace NavDestination.id with type-safe popUpTo<ForYouBaseRoute> in
NiaAppState (id property removed in KMP navigation)
- Rename badging golden file from prodRelease to release
- Update dependency guard baselines
- Update AGENTS.md with corrected task names
- Create AGENTS.md with project overview, build commands, architecture,
and key technology choices for AI coding agents
- Symlink CLAUDE.md -> AGENTS.md so Claude Code picks up the same content
- Add .claude to .gitignore