Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't depend on kotlinx-coroutines-swing #1943

Closed
igordmn opened this issue Mar 9, 2022 · 1 comment · Fixed by JetBrains/skiko#515
Closed

Don't depend on kotlinx-coroutines-swing #1943

igordmn opened this issue Mar 9, 2022 · 1 comment · Fixed by JetBrains/skiko#515
Assignees
Labels
bug Something isn't working desktop wait for build

Comments

@igordmn
Copy link
Collaborator

igordmn commented Mar 9, 2022

Compose 1.1.0

We need to use Swing dispatcher inside Compose, but when we depend on kotlinx-coroutines-swing library, we override Dispatchers.Main. This can lead to undefined behaviour, if application requires a different Dispatchers.Main. For example, see https://youtrack.jetbrains.com/issue/IDEA-285839

The solution:

  • copy Dispathcer.Swing to skiko library, use this copied dispatcher inside Compose
  • remove kotlinx-coroutines-swing from skiko and Compose dependencies
@igordmn igordmn added bug Something isn't working desktop labels Mar 9, 2022
@igordmn igordmn self-assigned this Mar 9, 2022
igordmn added a commit to JetBrains/skiko that referenced this issue Mar 9, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943 on skiko side
igordmn added a commit to JetBrains/skiko that referenced this issue Mar 9, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943 on skiko side
igordmn added a commit to JetBrains/skiko that referenced this issue Mar 9, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943 on skiko side
igordmn added a commit to JetBrains/skiko that referenced this issue Mar 9, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943 on skiko side
@igordmn igordmn reopened this Mar 9, 2022
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Mar 10, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```
@igordmn
Copy link
Collaborator Author

igordmn commented Mar 13, 2022

Should be fixed in 1.1.1

@igordmn igordmn closed this as completed Mar 13, 2022
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Mar 28, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Mar 30, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Apr 4, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Apr 4, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Apr 18, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
manu-unter pushed a commit to manu-unter/skiko that referenced this issue May 16, 2022
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Jun 2, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Jun 27, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Aug 18, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
igordmn added a commit to JetBrains/compose-multiplatform-core that referenced this issue Aug 18, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Oct 26, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Nov 16, 2022
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
eymar pushed a commit to JetBrains/compose-multiplatform-core that referenced this issue Jan 13, 2023
Because it overrides Dispatchers.Main

Fixes JetBrains/compose-multiplatform#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
MatkovIvan pushed a commit to MatkovIvan/compose-multiplatform that referenced this issue May 10, 2023
Because it overrides Dispatchers.Main

Fixes JetBrains#1943

RelNote:
Compose don't depend on `kotlinx-coroutines-swing` now. So if you use `Dispatchers.Swing` or `Dispatchers.Main` in your code, add this dependency into `build.gradle.kts`:
```
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion")
}
```

Change-Id: Iefec704aceb25d03c460a227b3aa0921996f14ed

# Conflicts:
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/ImageComposeSceneTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/awt/ComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/platform/TestComposeWindowTest.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/TestUtils.kt
#	compose/ui/ui/src/desktopTest/kotlin/androidx/compose/ui/window/window/WindowTest.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working desktop wait for build
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant