Skip to content

Fix build failures across all KMP targets (JVM, JS, WASM, iOS)#2608

Open
Arinyadav1 wants to merge 5 commits intoopenMF:developmentfrom
Arinyadav1:Fix-build-failures
Open

Fix build failures across all KMP targets (JVM, JS, WASM, iOS)#2608
Arinyadav1 wants to merge 5 commits intoopenMF:developmentfrom
Arinyadav1:Fix-build-failures

Conversation

@Arinyadav1
Copy link
Contributor

Fixes - Jira-#644

image image image

@coderabbitai
Copy link

coderabbitai bot commented Feb 12, 2026

Important

Review skipped

Too many files!

This PR contains 226 files, which is 76 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

"kspDesktop",
"kspAndroid",
"kspIosArm64",
"kspIosX64",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you tell us the reason for removal of this line? I can see it is present in kmp project template.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently we are using latest Paging library which is support KMP so that library align with JetBrains and JetBrains deprecated kspIosX64 it that's why I remove it.

Screenshot 2026-02-13 220545

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
jvmTarget.set(JvmTarget.JVM_17)
jvmTarget = JvmTarget.JVM_17

Cleaner and more idiomatic in Kotlin DSL.

fun ComponentActivity.setupEdgeToEdge(
appThemeFlow: Flow<DarkThemeConfig>,
) {
@Suppress("MaxLineLength", "ktlint:standard:multiline-expression-wrapping")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This annotation isn't present in kmp-project-template: "ktlint:standard:multiline-expression-wrapping".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will fix this one

* will emit changes as needed.
* Emits whether the system is currently in dark mode.
*/
@Suppress("ktlint:standard:multiline-expression-wrapping")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will fix this one

file(System.getenv("KEYSTORE_PATH") ?: "../keystores/release_keystore.keystore")
storePassword = System.getenv("KEYSTORE_PASSWORD") ?: "mifos1234"
keyAlias = System.getenv("KEYSTORE_ALIAS") ?: "mifos-mobile"
keyAlias = System.getenv("KEYSTORE_ALIAS") ?: "mifos"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure about this default value?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I am sure it is working fine


kotlin {
listOf(
iosX64(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A question previously asked about its exclusion.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have explained the reason in previously asked question

targetSdk=36
compileSdk=36

android.experimental.lint.version=8.8.2
Copy link
Contributor

@biplab1 biplab1 Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was added to fix Android build and publish workflow:

Added lint config in gradle properties to fix version incompatibility between lint and AGP.

Are you sure about this change that it won't break the workflow?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes' it is working fine

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you tell us the reason for getting rid of the WasmJsNetworkMonitor.kt?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was not have a correct implementation of it because in other target devices have other name file and other in wasmJs in other file that's why I just fix this file issue and make consistent with other target devices

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was not have a correct implementation of it because in other target devices have other name file and other in Js in other file that's why I just fix this file issue and make consistent with other target devices

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you tell us the reason for repurposing the existing files instead of creating new ones?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not repurposing the existing files, I only created new files I don't know why this showing file here like this because in report module did not have wasmJs and Js target before this PR I added this as a new one

You can confirm this scenario in this image

Screenshot 2026-02-14 122621

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

core/network/src/wasmJsMain/kotlin/com/mifos/core/network/utils/ImageLoaderUtils.js.kt

And I deleted this file because there was not have expect function in commonMain so that's why it is nothing any use so simple I deleted it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not repurposing the existing files, I only created new files I don't know why this showing file here like this because in report module did not have wasmJs and Js target before this PR I added this as a new one

You can confirm this scenario in this image

Screenshot 2026-02-14 122621

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

core/network/src/jsMain/kotlin/com/mifos/core/network/utils/ImageLoaderUtils.js.kt

And I deleted this file because there was not have expect function in commonMain so that's why it is nothing any use so simple I deleted it.

@androidx.compose.runtime.Composable
actual fun PathTrackingScreen(
onBackPressed: () -> Unit,
viewModel: com.mifos.feature.path.tracking.PathTrackingViewModel,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move this to import section.

@androidx.compose.runtime.Composable
actual fun PathTrackingScreen(
onBackPressed: () -> Unit,
viewModel: com.mifos.feature.path.tracking.PathTrackingViewModel,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Comment on lines 14 to 17
paddingValues: androidx.compose.foundation.layout.PaddingValues,
onAddGroupClick: () -> Unit,
onGroupClick: (groupId: Int) -> Unit,
viewModel: com.mifos.feature.groups.groupList.GroupsListViewModel,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move relevant lines to import section.

Comment on lines 14 to 17
paddingValues: androidx.compose.foundation.layout.PaddingValues,
onAddGroupClick: () -> Unit,
onGroupClick: (groupId: Int) -> Unit,
viewModel: com.mifos.feature.groups.groupList.GroupsListViewModel,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Comment on lines 14 to 15
pagingFlow: kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<com.mifos.core.model.objects.clients.Page<com.mifos.room.entities.client.ChargesEntity>>>,
onAction: (com.mifos.feature.client.charges.ChargesAction) -> Unit,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Comment on lines 13 to 15
actual fun ShowClientCharge(
pagingFlow: kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<com.mifos.core.model.objects.clients.Page<com.mifos.room.entities.client.ChargesEntity>>>,
onAction: (com.mifos.feature.client.charges.ChargesAction) -> Unit,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

Comment on lines 14 to 17
state: com.mifos.feature.center.centerList.ui.CenterListUiState,
isInSelectionMode: Boolean,
selectedItems: com.mifos.feature.center.centerList.ui.SelectedItemsState,
onRefresh: () -> Unit,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move relevant lines to import section.

Comment on lines 14 to 16
state: com.mifos.feature.center.centerList.ui.CenterListUiState,
isInSelectionMode: Boolean,
selectedItems: com.mifos.feature.center.centerList.ui.SelectedItemsState,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please review.

@sonarqubecloud
Copy link

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.

2 participants