[space] Upgrade space-idea-sdk to 1.1.63274
authorNikolay Rykunov <nikolay.rykunov@jetbrains.com>
Sat, 23 Jan 2021 21:45:00 +0000 (00:45 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Sat, 23 Jan 2021 21:45:45 +0000 (21:45 +0000)
GitOrigin-RevId: d52d22900d54061c38d2f665702e21700b3ce968

19 files changed:
.idea/libraries/space_idea_sdk.xml
plugins/space/intellij.space.iml
plugins/space/src/main/kotlin/com/intellij/space/chat/ui/discussion/SpaceChatCodeDiscussionComponentFactory.kt
plugins/space/src/main/kotlin/com/intellij/space/components/SpaceUserAvatarProvider.kt
plugins/space/src/main/kotlin/com/intellij/space/components/SpaceWorkspaceComponent.kt
plugins/space/src/main/kotlin/com/intellij/space/plugins/pipelines/services/SpaceKtsModelBuilder.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/SpaceProjectContext.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/clone/SpaceCloneComponentViewModel.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/ReviewLoginComponent.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/ReviewVm.kt [deleted file]
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/SpaceReviewTabManager.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/SpaceReviewToolWindowFactory.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/Utils.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/details/SpaceReviewChangesVmImpl.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/details/SpaceReviewDetailsVm.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/details/SpaceReviewParticipantsVmImpl.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/details/selector/SpaceReviewersSelectorVm.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/review/list/SpaceReviewListVmImpl.kt
plugins/space/src/main/kotlin/com/intellij/space/vcs/share/SpaceShareProjectVM.kt

index 8d7c2f65f5223f48ce24052366ebfc8c6e597d35..d9cdf242e2b5141b19655e0211fd1cd48693bcb3 100644 (file)
@@ -1,6 +1,6 @@
 <component name="libraryTable">
   <library name="space-idea-sdk" type="repository">
-    <properties maven-id="com.jetbrains:space-idea-sdk:1.1.62875">
+    <properties maven-id="com.jetbrains:space-idea-sdk:1.1.63274">
       <exclude>
         <dependency maven-id="org.jetbrains.kotlin:kotlin-stdlib" />
         <dependency maven-id="org.jetbrains.kotlin:kotlin-reflect" />
         <dependency maven-id="org.jetbrains.kotlin:kotlin-scripting-common" />
         <dependency maven-id="org.jetbrains.kotlin:kotlin-scripting-dependencies" />
         <dependency maven-id="org.jetbrains.kotlin:kotlin-scripting-jvm" />
+        <dependency maven-id="org.apache.commons:commons-compress" />
       </exclude>
     </properties>
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/com/jetbrains/space-idea-sdk/1.1.62875/space-idea-sdk-1.1.62875.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/com/jetbrains/space-idea-sdk/1.1.63274/space-idea-sdk-1.1.63274.jar!/" />
       <root url="jar://$MAVEN_REPOSITORY$/io/reactivex/rxkotlin/0.55.0/rxkotlin-0.55.0.jar!/" />
       <root url="jar://$MAVEN_REPOSITORY$/io/reactivex/rxjava/1.1.1/rxjava-1.1.1.jar!/" />
     </CLASSES>
index 13fb658989e99c5abfb7130998416ef398b615c9..8feeb781d60d34d6e6b5a0a86ba41451dc67871c 100644 (file)
       </library>
     </orderEntry>
     <orderEntry type="library" name="gson" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="commons-compress" level="project" />
   </component>
 </module>
\ No newline at end of file
index 42bd7ad412f47962e96eaeb6fe45d5c8968cfe96..a71c0ace74788a3bc6f6901cbc6c2ea712b36424 100644 (file)
@@ -32,7 +32,7 @@ import net.miginfocom.layout.CC
 import net.miginfocom.layout.LC
 import net.miginfocom.swing.MigLayout
 import runtime.reactive.Property
-import runtime.reactive.map
+import runtime.reactive.property.map
 import java.awt.event.ActionListener
 import javax.swing.JComponent
 import javax.swing.JPanel
index 91271bca6e5658924cae13be66213d26f3cea2ba..c9a41fbfea1f294aaceebca1ab1468e6107054d9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.components
 
 import circlet.client.api.englishFullName
@@ -15,11 +15,15 @@ import libraries.klogging.logger
 import runtime.reactive.Property
 import runtime.reactive.awaitFirst
 import runtime.reactive.filter
-import runtime.reactive.mapInit
+import runtime.reactive.property.mapInit
 
 @Service
 class SpaceUserAvatarProvider : Disposable {
-  private val log = logger<SpaceUserAvatarProvider>()
+  companion object {
+    private val LOG = logger<SpaceUserAvatarProvider>()
+
+    fun getInstance(): SpaceUserAvatarProvider = service()
+  }
 
   private val lifetime: LifetimeSource = LifetimeSource()
 
@@ -37,7 +41,7 @@ class SpaceUserAvatarProvider : Disposable {
     ws.client.connectionStatus.filter { it is ConnectionStatus.Connected }.awaitFirst(ws.lifetime)
 
     try {
-      log.info { "loading user avatar: $avatarTID" }
+      LOG.info { "loading user avatar: $avatarTID" }
       val loadedImage = imageLoader.loadImageAsync(avatarTID)?.await()
       if (loadedImage == null) {
         SpaceAvatarUtils.generateAvatars(id, name)
@@ -50,7 +54,7 @@ class SpaceUserAvatarProvider : Disposable {
       throw th
     }
     catch (e: Exception) {
-      log.error { "user avatar not loaded: $e" }
+      LOG.error { "user avatar not loaded: $e" }
       avatarPlaceholders
     }
   }
@@ -58,9 +62,5 @@ class SpaceUserAvatarProvider : Disposable {
   override fun dispose() {
     lifetime.terminate()
   }
-
-  companion object {
-    fun getInstance(): SpaceUserAvatarProvider = service()
-  }
 }
 
index b382d2f328ed8128c35e91965d3179b0559307a3..baeae52cbdaa00d0b951faf30d089569a24d5ac0 100644 (file)
@@ -50,7 +50,11 @@ import runtime.mutableUiDispatch
 import runtime.persistence.InMemoryPersistence
 import runtime.persistence.PersistenceConfiguration
 import runtime.persistence.PersistenceKey
-import runtime.reactive.*
+import runtime.reactive.MutableProperty
+import runtime.reactive.Property
+import runtime.reactive.SequentialLifetimes
+import runtime.reactive.mutableProperty
+import runtime.reactive.property.map
 import java.awt.Component
 import java.net.URI
 import java.net.URL
index 16728ca2dc68f2c78c30f8417ee90c54f12c464a..ccc68ecf304b8f85f8f67ed380dbbc4f2188f642 100644 (file)
@@ -36,6 +36,8 @@ import org.slf4j.event.SubstituteLoggingEvent
 import org.slf4j.helpers.SubstituteLogger
 import runtime.Ui
 import runtime.reactive.*
+import runtime.reactive.property.flatMap
+import runtime.reactive.property.map
 import java.nio.file.Files
 import java.nio.file.Paths
 import kotlin.io.path.name
index 262da9b5e0a29e8425bd83bc6105468ffa5b93fa..b0b1a57566a9ebbe85a197427fdfbf7230ef7536 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs
 
 import circlet.client.api.*
@@ -18,7 +18,11 @@ import git4idea.repo.GitRepository
 import git4idea.repo.GitRepositoryChangeListener
 import libraries.coroutines.extra.LifetimeSource
 import runtime.async.backoff
-import runtime.reactive.*
+import runtime.reactive.MutableProperty
+import runtime.reactive.Property
+import runtime.reactive.awaitFirst
+import runtime.reactive.filter
+import runtime.reactive.property.mapInit
 
 @Service
 class SpaceProjectContext(project: Project) : Disposable {
index 15016932becdf35a2a56f39c739f124753ca8f58..b4074e71a54014bc33ffbd2a8d188bf736fa0863 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.clone
 
 import circlet.client.api.*
@@ -11,12 +11,12 @@ import circlet.platform.api.Ref
 import circlet.platform.client.resolve
 import circlet.platform.client.resolveRefsOrFetch
 import circlet.platform.client.xTransformedPagedListOnFlux
-import com.intellij.space.settings.SpaceSettings
+import circlet.workspaces.Workspace
 import com.intellij.space.settings.CloneType
 import com.intellij.space.settings.CloneType.HTTP
+import com.intellij.space.settings.SpaceSettings
 import com.intellij.space.vcs.SpaceHttpPasswordState
 import com.intellij.space.vcs.SpaceKeysState
-import circlet.workspaces.Workspace
 import com.intellij.util.ui.cloneDialog.SearchableListItem
 import libraries.coroutines.extra.Lifetime
 import libraries.coroutines.extra.Lifetimed
@@ -26,8 +26,8 @@ import runtime.UiDispatch
 import runtime.dispatchInterval
 import runtime.reactive.MutableProperty
 import runtime.reactive.Property
-import runtime.reactive.mapInit
 import runtime.reactive.mutableProperty
+import runtime.reactive.property.mapInit
 import runtime.utils.mapToSet
 
 internal class SpaceCloneComponentViewModel(
index 2b44e1b354c241acbbf598487fba407498158556..d38be065bf752f4fd5781e3b33a00b0780b05c03 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.review
 
 import com.intellij.openapi.Disposable
@@ -13,21 +13,26 @@ import com.intellij.ui.components.labels.LinkLabel
 import com.intellij.ui.components.panels.Wrapper
 import com.intellij.util.ui.UIUtil
 import libraries.coroutines.extra.Lifetime
+import runtime.reactive.property.map
 
-internal class ReviewLoginComponent(parentDisposable: Disposable,
-                                    lifetime: Lifetime,
-                                    project: Project,
-                                    spaceProjectInfo: SpaceProjectInfo,
-                                    spaceRepos: Set<SpaceRepoInfo>) {
+internal class ReviewLoginComponent(
+  parentDisposable: Disposable,
+  lifetime: Lifetime,
+  project: Project,
+  spaceProjectInfo: SpaceProjectInfo,
+  spaceRepos: Set<SpaceRepoInfo>
+) {
 
-  private val vm = ReviewVm(lifetime, project, spaceProjectInfo.key)
+  private val isLoggedIn = lifetime.map(SpaceWorkspaceComponent.getInstance().workspace) {
+    it != null
+  }
 
   val view = Wrapper().apply {
     background = UIUtil.getListBackground()
   }
 
   init {
-    vm.isLoggedIn.forEach(lifetime) { isLoggedIn ->
+    isLoggedIn.forEach(lifetime) { isLoggedIn ->
       if (!isLoggedIn) {
         val loginLabel = LinkLabel.create(SpaceBundle.message("action.com.intellij.space.actions.SpaceLoginAction.text")) {
           SpaceSettingsPanel.openSettings(null)
diff --git a/plugins/space/src/main/kotlin/com/intellij/space/vcs/review/ReviewVm.kt b/plugins/space/src/main/kotlin/com/intellij/space/vcs/review/ReviewVm.kt
deleted file mode 100644 (file)
index aab1a13..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
-package com.intellij.space.vcs.review
-
-import circlet.client.api.ProjectKey
-import com.intellij.openapi.project.Project
-import com.intellij.space.components.SpaceWorkspaceComponent
-import libraries.coroutines.extra.Lifetime
-import libraries.coroutines.extra.Lifetimed
-import runtime.reactive.Property
-import runtime.reactive.map
-
-internal class ReviewVm(override val lifetime: Lifetime,
-               project: Project,
-               projectKey: ProjectKey) : Lifetimed {
-
-  val isLoggedIn: Property<Boolean> = map(SpaceWorkspaceComponent.getInstance().workspace) {
-    it != null
-  }
-}
index ddc8e4bbd047d0a7a383fb638575e8fed9545705..adbebf8d657d3eef1e2f911a63120267b8e7b58e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.review
 
 import circlet.workspaces.Workspace
@@ -17,7 +17,7 @@ import com.intellij.ui.content.ContentManager
 import icons.SpaceIcons
 import libraries.coroutines.extra.LifetimeSource
 import runtime.reactive.Property
-import runtime.reactive.mapInit
+import runtime.reactive.property.mapInit
 
 @Service
 internal class SpaceCodeReviewTabManager(private val project: Project) {
index 34490bf9409f8d4619d105c1fcc404b79e5f1234..bb62c4226a8e0cdd00f2e252911124ef1284738a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.review
 
 import com.intellij.openapi.components.service
@@ -10,7 +10,7 @@ import com.intellij.openapi.wm.ex.ToolWindowEx
 import com.intellij.space.components.SpaceWorkspaceComponent
 import com.intellij.space.vcs.SpaceProjectContext
 import libraries.coroutines.extra.LifetimeSource
-import runtime.reactive.mapInit
+import runtime.reactive.property.mapInit
 
 internal class SpaceReviewToolWindowFactory : ToolWindowFactory, DumbAware {
   private val lifetime: LifetimeSource = LifetimeSource()
@@ -22,7 +22,7 @@ internal class SpaceReviewToolWindowFactory : ToolWindowFactory, DumbAware {
 
     val workspace = SpaceWorkspaceComponent.getInstance().workspace
     val spaceProjectContext = SpaceProjectContext.getInstance(project).context
-    val isToolwindowAvailable = lifetime.mapInit(workspace, spaceProjectContext, false) { ws, context->
+    val isToolwindowAvailable = lifetime.mapInit(workspace, spaceProjectContext, false) { ws, context ->
       ws ?: return@mapInit false
       return@mapInit context.isAssociatedWithSpaceRepository
     }
index 10434a9571200e6fd1072a337e14bd09815d3c8d..4e6b5544c2cc237cff9834059afd8d4392565c38 100644 (file)
@@ -20,7 +20,7 @@ import com.intellij.space.vcs.SpaceProjectInfo
 import com.intellij.util.ui.codereview.BaseHtmlEditorPane
 import com.intellij.util.ui.codereview.InlineIconButton
 import icons.SpaceIcons
-import runtime.reactive.map
+import runtime.reactive.property.map
 
 internal open class HtmlEditorPane : BaseHtmlEditorPane(SpaceIcons::class.java)
 
index 32dbcd406190c14b0045b5c420566eb17e2e6083..19b80660b790e52672dcb9d2e3bdc068a7de0902 100644 (file)
@@ -22,6 +22,7 @@ import libraries.coroutines.extra.launch
 import libraries.coroutines.extra.nested
 import runtime.Ui
 import runtime.reactive.*
+import runtime.reactive.property.mapInit
 
 private const val MAX_CHANGES_TO_LOAD = 1024
 
index 3cbed81cd25d88ffcdcb73e0c216133c1cfeadb4..95adf17bf5318d0abba4af5916e1b559d2883e5d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.review.details
 
 import circlet.client.api.ProjectKey
@@ -22,7 +22,8 @@ import com.intellij.space.vcs.review.details.process.SpaceReviewStateUpdaterImpl
 import libraries.coroutines.extra.Lifetime
 import libraries.coroutines.extra.Lifetimed
 import runtime.reactive.*
-import runtime.reactive.property.seqCombineLatest
+import runtime.reactive.property.map
+import runtime.reactive.property.mapInit
 
 internal sealed class SpaceReviewDetailsVm<R : CodeReviewRecord>(
   final override val lifetime: Lifetime,
@@ -66,8 +67,7 @@ internal sealed class SpaceReviewDetailsVm<R : CodeReviewRecord>(
   private val participantsRef: Property<Ref<CodeReviewParticipants>?> = lastLoadedValueOrNull(participantsProperty)
   private val pendingCounterRef: Property<Ref<CodeReviewPendingMessageCounter>?> = lastLoadedValueOrNull(pendingCounterAsync(client))
 
-  val participantsVm: Property<SpaceReviewParticipantsVm?> = seqCombineLatest(participantsRef,
-                                                                              pendingCounterRef) { participantsRef, pendingCounterRef ->
+  val participantsVm: Property<SpaceReviewParticipantsVm?> = map(participantsRef, pendingCounterRef) { participantsRef, pendingCounterRef ->
     if (participantsRef != null && pendingCounterRef != null) {
       SpaceReviewParticipantsVmImpl(lifetime, projectKey, reviewRef, participantsRef, pendingCounterRef, review.value.identifier, workspace)
     }
index 382eb2e49e5695ec3f2526a009677c2c2134808e..06cbb08d36294b38f9f7eb964b0c367dc02aab8f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.review.details
 
 import circlet.client.api.ProjectKey
@@ -15,7 +15,7 @@ import libraries.coroutines.extra.Lifetime
 import runtime.reactive.Property
 import runtime.reactive.cellProperty
 import runtime.reactive.live
-import runtime.reactive.property.combineLatest
+import runtime.reactive.property.map
 
 internal class SpaceReviewParticipantsVmImpl(
   override val lifetime: Lifetime,
@@ -41,19 +41,25 @@ internal class SpaceReviewParticipantsVmImpl(
   override val me: TD_MemberProfile
     get() = workspace.me.value
 
-  override val controlVm: Property<ParticipantStateControlVM> = combineLatest(
+  override val controlVm: Property<ParticipantStateControlVM> = map(
     review.property(),
     reviewers,
-    authors)
+    authors
+  )
   { reviewRecord, reviewers, authors ->
-    if (reviewRecord.state != CodeReviewState.Opened) return@combineLatest ParticipantStateControlVM.WithoutControls
-
-    createControlVm(reviewers, authors, reviewRecord)
+    if (reviewRecord.state != CodeReviewState.Opened) {
+      ParticipantStateControlVM.WithoutControls
+    }
+    else {
+      createControlVm(reviewers, authors, reviewRecord)
+    }
   }
 
-  private fun createControlVm(reviewers: List<CodeReviewParticipant>,
-                              authors: List<CodeReviewParticipant>,
-                              reviewRecord: CodeReviewRecord): ParticipantStateControlVM {
+  private fun createControlVm(
+    reviewers: List<CodeReviewParticipant>,
+    authors: List<CodeReviewParticipant>,
+    reviewRecord: CodeReviewRecord
+  ): ParticipantStateControlVM {
     val meReviewer = reviewers.me()
     val meAuthor = authors.me()
     val isTurnBased = reviewRecord.turnBased == true
index 754b22824ed5adaf2c7659e4b7015308c6cf41c5..f3e4a99ecb3033f67eef291981375fbcbda5203d 100644 (file)
@@ -20,14 +20,19 @@ import com.intellij.space.vcs.review.details.SpaceReviewDetailsVm
 import com.intellij.space.vcs.review.details.SpaceReviewParticipantsVm
 import libraries.coroutines.extra.Lifetime
 import libraries.coroutines.extra.Lifetimed
-import runtime.reactive.*
+import runtime.reactive.MutableProperty
+import runtime.reactive.Property
+import runtime.reactive.flatten
+import runtime.reactive.property.map
+import runtime.reactive.property.mapInit
 
-internal class SpaceReviewersSelectorVm(override val lifetime: Lifetime,
-                                        val review: CodeReviewRecord,
-                                        val projectKey: ProjectKey,
-                                        val client: KCircletClient,
-                                        private val detailsVm: SpaceReviewDetailsVm<out CodeReviewRecord>,
-                                        private val participantsVm: SpaceReviewParticipantsVm
+internal class SpaceReviewersSelectorVm(
+  override val lifetime: Lifetime,
+  val review: CodeReviewRecord,
+  val projectKey: ProjectKey,
+  val client: KCircletClient,
+  private val detailsVm: SpaceReviewDetailsVm<out CodeReviewRecord>,
+  participantsVm: SpaceReviewParticipantsVm
 ) : Lifetimed {
 
   private val codeReviewService: CodeReviewService = client.codeReview
index 6b93a8da38935a3d20ae7765da026fdc416f71d2..034edc2cfe75e09880aa79e61a8d5515e170bb96 100644 (file)
@@ -15,6 +15,8 @@ import circlet.platform.client.xPagedListOnFlux
 import com.intellij.space.vcs.SpaceProjectInfo
 import libraries.coroutines.extra.Lifetime
 import runtime.reactive.*
+import runtime.reactive.property.map
+import runtime.reactive.property.mapInit
 
 
 internal class SpaceReviewsListVmImpl(override val lifetime: Lifetime,
index 4eec700accf32cedb01cb3695d2785fafd39ccf0..7e2e82c5aaa9b16a7e9929a7ff2988a571393ab2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.space.vcs.share
 
 import circlet.client.api.PR_Project
@@ -17,7 +17,7 @@ import org.jetbrains.annotations.Nls
 import runtime.reactive.MutableProperty
 import runtime.reactive.awaitFirst
 import runtime.reactive.filter
-import runtime.reactive.mapInit
+import runtime.reactive.property.mapInit
 
 class SpaceShareProjectVM(val lifetime: LifetimeSource) {
   @Suppress("RemoveExplicitTypeArguments")