Four commits landed as84ac84cc,73a0e5b9,5654e462andccb9942a. Three were clean picks; the fourth is the conflict the dry run found and the third decision explained -- CreateProfileViewModel.kt at 2f420230, where Mantra's39fb64b6had moved one import and upstream's commit rewrites the whole block and removes the derivation that import served. Taken theirs, by the rule added to the driver, and the file is now identical on both sides: the residual between the trees went from 136 files to 135, that file being the one that left, and no other file's residual moved. Both compilers clean. jvmTest 837 -> 858, testDebugUnitTest 413 -> 420 (StartupChoiceTest), every audit budget met, and the audit's count of composable string literals -- reported without a budget -- fell from 40 to 30 as the startup screen's wallet-worded literals moved into the catalogue; strings.xml 444 -> 455. The review points the phase named were read rather than assumed: the relay observer is a single collectLatest child with no per-pubkey map; the switch sets the desired id, sets startWalletImmediately back to true, clears the identity and only then stops a node, and only when the profile being left had one; the startup precedence reads force, desired, "show me the list", the only one, the default; CreateProfileRoute(withWallet = true) appears once, under Landing; the jvm target reaches the global preferences through JvmGlobalPrefs alone; the switcher's bar carries NavigateBackButton. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This is a Kotlin Multiplatform project targeting Android, iOS, Desktop (JVM).
-
/composeApp is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:
- commonMain is for code that’s common for all targets.
- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name. For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app, the iosMain folder would be the right place for such calls. Similarly, if you want to edit the Desktop (JVM) specific part, the jvmMain folder is the appropriate location.
-
/iosApp contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.
Build and Run Android Application
To build and run the development version of the Android app, use the run configuration from the run widget in your IDE’s toolbar or build it directly from the terminal:
- on macOS/Linux
./gradlew :composeApp:assembleDebug - on Windows
.\gradlew.bat :composeApp:assembleDebug
Build and Run Desktop (JVM) Application
To build and run the development version of the desktop app, use the run configuration from the run widget in your IDE’s toolbar or run it directly from the terminal:
- on macOS/Linux
./gradlew :composeApp:run - on Windows
.\gradlew.bat :composeApp:run
Build and Run iOS Application
To build and run the development version of the iOS app, use the run configuration from the run widget in your IDE’s toolbar or open the /iosApp directory in Xcode and run it from there.
Learn more about Kotlin Multiplatform…