Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbec48d1

Browse files
committed
Merge branch 'main' into eap
2 parents581e8a2 +8805868 commitbec48d1

22 files changed

+64
-59
lines changed

‎CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
##Unreleased
66

7+
###Fixed
8+
9+
- Listing IDEs when using the plugin from the File > Remote Development option
10+
within a local IDE should now work.
11+
- Recent connections are now preserved.
12+
713
##2.9.1 - 2023-11-06
814

915
###Fixed

‎build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ plugins {
99
// Groovy support
1010
id("groovy")
1111
// Kotlin support
12-
id("org.jetbrains.kotlin.jvm") version"1.9.10"
12+
id("org.jetbrains.kotlin.jvm") version"1.9.20"
1313
// Gradle IntelliJ Plugin
1414
id("org.jetbrains.intellij") version"1.13.3"
1515
// Gradle Changelog Plugin

‎gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
pluginGroup=com.coder.gateway
44
pluginName=coder-gateway
55
# SemVer format -> https://semver.org
6-
pluginVersion=2.9.1-eap.0
6+
pluginVersion=2.9.2-eap.0
77
# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
88
# for insight into build numbers and IntelliJ Platform versions.
99
pluginSinceBuild=233.6745

‎src/main/kotlin/com/coder/gateway/CoderRemoteConnectionHandle.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ import com.jetbrains.gateway.ssh.SshDeployFlowUtil
3131
importcom.jetbrains.gateway.ssh.SshMultistagePanelContext
3232
importcom.jetbrains.gateway.ssh.deploy.DeployException
3333
importcom.jetbrains.rd.util.lifetime.LifetimeDefinition
34-
importkotlinx.coroutines.GlobalScope
35-
importkotlinx.coroutines.launch
3634
importnet.schmizz.sshj.common.SSHException
3735
importnet.schmizz.sshj.connection.ConnectionException
3836
importjava.awt.Dimension
@@ -48,7 +46,7 @@ import javax.net.ssl.SSLHandshakeException
4846
classCoderRemoteConnectionHandle {
4947
privateval recentConnectionsService= service<CoderRecentWorkspaceConnectionsService>()
5048

51-
suspendfunconnect(getParameters: (indicator:ProgressIndicator)->Map<String,String>) {
49+
funconnect(getParameters: (indicator:ProgressIndicator)->Map<String,String>) {
5250
val clientLifetime=LifetimeDefinition()
5351
clientLifetime.launchUnderBackgroundProgress(CoderGatewayBundle.message("gateway.connector.coder.connection.provider.title")) {
5452
try {
@@ -79,13 +77,11 @@ class CoderRemoteConnectionHandle {
7977
indicator.text=CoderGatewayBundle.message("gateway.connector.coder.connecting.failed.retry", humanizeDuration(remainingMs))
8078
},
8179
)
82-
GlobalScope.launch {
83-
logger.info("Deploying and starting IDE with$context")
84-
// At this point JetBrains takes over with their own UI.
85-
@Suppress("UnstableApiUsage")SshDeployFlowUtil.fullDeployCycle(
86-
clientLifetime, context,Duration.ofMinutes(10)
87-
)
88-
}
80+
logger.info("Deploying and starting IDE with$context")
81+
// At this point JetBrains takes over with their own UI.
82+
@Suppress("UnstableApiUsage")SshDeployFlowUtil.fullDeployCycle(
83+
clientLifetime, context,Duration.ofMinutes(10)
84+
)
8985
recentConnectionsService.addRecentConnection(parameters.toRecentWorkspaceConnection())
9086
}catch (e:Exception) {
9187
if (isCancellation(e)) {

‎src/main/kotlin/com/coder/gateway/models/RecentWorkspaceConnection.kt

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,51 @@ import com.intellij.openapi.components.BaseState
44
importcom.intellij.util.xmlb.annotations.Attribute
55

66
classRecentWorkspaceConnection(
7+
coderWorkspaceHostname:String? =null,
8+
projectPath:String? =null,
9+
lastOpened:String? =null,
10+
ideProductCode:String? =null,
11+
ideBuildNumber:String? =null,
12+
downloadSource:String? =null,
13+
idePathOnHost:String? =null,
14+
webTerminalLink:String? =null,
15+
configDirectory:String? =null,
16+
name:String? =null,
17+
) : BaseState(), Comparable<RecentWorkspaceConnection> {
718
@get:Attribute
8-
varcoderWorkspaceHostname:String? =null,
19+
var coderWorkspaceHostname by string()
920
@get:Attribute
10-
varprojectPath:String? =null,
21+
var projectPath by string()
1122
@get:Attribute
12-
varlastOpened:String? =null,
23+
var lastOpened by string()
1324
@get:Attribute
14-
varideProductCode:String? =null,
25+
var ideProductCode by string()
1526
@get:Attribute
16-
varideBuildNumber:String? =null,
27+
var ideBuildNumber by string()
1728
@get:Attribute
18-
vardownloadSource:String? =null,
29+
var downloadSource by string()
1930
@get:Attribute
20-
varidePathOnHost:String? =null,
31+
var idePathOnHost by string()
2132
@get:Attribute
22-
varwebTerminalLink:String? =null,
33+
var webTerminalLink by string()
2334
@get:Attribute
24-
varconfigDirectory:String? =null,
35+
var configDirectory by string()
2536
@get:Attribute
26-
varname:String? =null,
27-
) : BaseState(), Comparable<RecentWorkspaceConnection> {
37+
var name by string()
38+
39+
init {
40+
this.coderWorkspaceHostname= coderWorkspaceHostname
41+
this.projectPath= projectPath
42+
this.lastOpened= lastOpened
43+
this.ideProductCode= ideProductCode
44+
this.ideBuildNumber= ideBuildNumber
45+
this.downloadSource= downloadSource
46+
this.idePathOnHost= idePathOnHost
47+
this.webTerminalLink= webTerminalLink
48+
this.configDirectory= configDirectory
49+
this.name= name
50+
}
51+
2852
overridefunequals(other:Any?):Boolean {
2953
if (this=== other)returntrue
3054
if (javaClass!= other?.javaClass)returnfalse

‎src/main/kotlin/com/coder/gateway/sdk/CoderCLIManager.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,6 @@ class CoderCLIManager @JvmOverloads constructor(
234234
transform= {
235235
"""
236236
Host${getHostName(deploymentURL, it)}
237-
HostName coder.${it.name}
238237
ProxyCommand${proxyArgs.joinToString("")}${it.name}
239238
ConnectTimeout 0
240239
StrictHostKeyChecking no

‎src/main/kotlin/com/coder/gateway/views/CoderGatewayRecentWorkspaceConnectionsView.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,8 @@ class CoderGatewayRecentWorkspaceConnectionsView(private val setContentCallback:
212212
row {
213213
icon(product.icon)
214214
cell(ActionLink(connectionDetails.projectPath!!) {
215-
cs.launch {
216-
CoderRemoteConnectionHandle().connect{ connectionDetails.toWorkspaceParams() }
217-
GatewayUI.getInstance().reset()
218-
}
215+
CoderRemoteConnectionHandle().connect{ connectionDetails.toWorkspaceParams() }
216+
GatewayUI.getInstance().reset()
219217
})
220218
label("").resizableColumn().align(AlignX.FILL)
221219
label("Last opened:${connectionDetails.lastOpened}").applyToComponent {

‎src/main/kotlin/com/coder/gateway/views/steps/CoderLocateRemoteProjectStepView.kt

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import com.coder.gateway.withWorkspaceHostname
2525
importcom.intellij.ide.IdeBundle
2626
importcom.intellij.openapi.Disposable
2727
importcom.intellij.openapi.application.ApplicationManager
28+
importcom.intellij.openapi.application.ModalityState
29+
importcom.intellij.openapi.application.asContextElement
2830
importcom.intellij.openapi.diagnostic.Logger
2931
importcom.intellij.openapi.ui.ComboBox
3032
importcom.intellij.openapi.ui.ComponentValidator
@@ -65,7 +67,6 @@ import kotlinx.coroutines.Dispatchers
6567
importkotlinx.coroutines.Job
6668
importkotlinx.coroutines.async
6769
importkotlinx.coroutines.cancel
68-
importkotlinx.coroutines.cancelAndJoin
6970
importkotlinx.coroutines.launch
7071
importkotlinx.coroutines.runBlocking
7172
importkotlinx.coroutines.withContext
@@ -181,7 +182,7 @@ class CoderLocateRemoteProjectStepView(private val setNextButtonEnabled: (Boolea
181182
titleLabel.text=CoderGatewayBundle.message("gateway.connector.view.coder.remoteproject.choose.text", selectedWorkspace.name)
182183
terminalLink.url= clientService.client.url.withPath("/@${clientService.me.username}/${selectedWorkspace.name}/terminal").toString()
183184

184-
ideResolvingJob= cs.launch {
185+
ideResolvingJob= cs.launch(ModalityState.current().asContextElement()) {
185186
try {
186187
val ides= suspendingRetryWithExponentialBackOff(
187188
action= { attempt->
@@ -338,27 +339,23 @@ class CoderLocateRemoteProjectStepView(private val setNextButtonEnabled: (Boolea
338339
logger.warn("No workspace was selected. Please go back to the previous step and select a workspace")
339340
returnfalse
340341
}
341-
cs.launch {
342-
CoderRemoteConnectionHandle().connect{
343-
selectedIDE
344-
.toWorkspaceParams()
345-
.withWorkspaceHostname(CoderCLIManager.getHostName(deploymentURL, selectedWorkspace))
346-
.withProjectPath(tfProject.text)
347-
.withWebTerminalLink("${terminalLink.url}")
348-
.withConfigDirectory(wizardModel.configDirectory)
349-
.withName(selectedWorkspace.name)
350-
}
351-
GatewayUI.getInstance().reset()
342+
CoderRemoteConnectionHandle().connect{
343+
selectedIDE
344+
.toWorkspaceParams()
345+
.withWorkspaceHostname(CoderCLIManager.getHostName(deploymentURL, selectedWorkspace))
346+
.withProjectPath(tfProject.text)
347+
.withWebTerminalLink("${terminalLink.url}")
348+
.withConfigDirectory(wizardModel.configDirectory)
349+
.withName(selectedWorkspace.name)
352350
}
351+
GatewayUI.getInstance().reset()
353352
returntrue
354353
}
355354

356355
overridefunonPrevious() {
357356
super.onPrevious()
358357
logger.info("Going back to Workspace view")
359-
cs.launch {
360-
ideResolvingJob.cancelAndJoin()
361-
}
358+
ideResolvingJob?.cancel()
362359
}
363360

364361
overridefundispose() {

‎src/test/fixtures/outputs/append-blank-newlines.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
# --- START CODER JETBRAINS test.coder.invalid
66
Host coder-jetbrains--foo-bar--test.coder.invalid
7-
HostName coder.foo-bar
87
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
98
ConnectTimeout 0
109
StrictHostKeyChecking no

‎src/test/fixtures/outputs/append-blank.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo-bar--test.coder.invalid
3-
HostName coder.foo-bar
43
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
54
ConnectTimeout 0
65
StrictHostKeyChecking no

‎src/test/fixtures/outputs/append-no-blocks.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ Host test2
55

66
# --- START CODER JETBRAINS test.coder.invalid
77
Host coder-jetbrains--foo-bar--test.coder.invalid
8-
HostName coder.foo-bar
98
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
109
ConnectTimeout 0
1110
StrictHostKeyChecking no

‎src/test/fixtures/outputs/append-no-newline.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Host test2
44
Port 443
55
# --- START CODER JETBRAINS test.coder.invalid
66
Host coder-jetbrains--foo-bar--test.coder.invalid
7-
HostName coder.foo-bar
87
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
98
ConnectTimeout 0
109
StrictHostKeyChecking no

‎src/test/fixtures/outputs/append-no-related-blocks.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ some jetbrains config
1111

1212
# --- START CODER JETBRAINS test.coder.invalid
1313
Host coder-jetbrains--foo-bar--test.coder.invalid
14-
HostName coder.foo-bar
1514
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
1615
ConnectTimeout 0
1716
StrictHostKeyChecking no

‎src/test/fixtures/outputs/header-command-windows.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--header--test.coder.invalid
3-
HostName coder.header
43
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "C:\Program Files\My Header Command\\"also has quotes\"\HeaderCommand.exe" ssh --stdio header
54
ConnectTimeout 0
65
StrictHostKeyChecking no

‎src/test/fixtures/outputs/header-command.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--header--test.coder.invalid
3-
HostName coder.header
43
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "my-header-command \"test\"" ssh --stdio header
54
ConnectTimeout 0
65
StrictHostKeyChecking no

‎src/test/fixtures/outputs/multiple-workspaces.conf

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo--test.coder.invalid
3-
HostName coder.foo
43
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo
54
ConnectTimeout 0
65
StrictHostKeyChecking no
76
UserKnownHostsFile /dev/null
87
LogLevel ERROR
98
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
109
Host coder-jetbrains--bar--test.coder.invalid
11-
HostName coder.bar
1210
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar
1311
ConnectTimeout 0
1412
StrictHostKeyChecking no

‎src/test/fixtures/outputs/replace-end-no-newline.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ Host test
33
Host test2
44
Port 443 # --- START CODER JETBRAINS test.coder.invalid
55
Host coder-jetbrains--foo-bar--test.coder.invalid
6-
HostName coder.foo-bar
76
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
87
ConnectTimeout 0
98
StrictHostKeyChecking no

‎src/test/fixtures/outputs/replace-end.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Host test2
44
Port 443
55
# --- START CODER JETBRAINS test.coder.invalid
66
Host coder-jetbrains--foo-bar--test.coder.invalid
7-
HostName coder.foo-bar
87
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
98
ConnectTimeout 0
109
StrictHostKeyChecking no

‎src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ some coder config
55
# ------------END-CODER------------
66
# --- START CODER JETBRAINS test.coder.invalid
77
Host coder-jetbrains--foo-bar--test.coder.invalid
8-
HostName coder.foo-bar
98
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
109
ConnectTimeout 0
1110
StrictHostKeyChecking no

‎src/test/fixtures/outputs/replace-middle.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ Host test
22
Port 80
33
# --- START CODER JETBRAINS test.coder.invalid
44
Host coder-jetbrains--foo-bar--test.coder.invalid
5-
HostName coder.foo-bar
65
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
76
ConnectTimeout 0
87
StrictHostKeyChecking no

‎src/test/fixtures/outputs/replace-only.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo-bar--test.coder.invalid
3-
HostName coder.foo-bar
43
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
54
ConnectTimeout 0
65
StrictHostKeyChecking no

‎src/test/fixtures/outputs/replace-start.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo-bar--test.coder.invalid
3-
HostName coder.foo-bar
43
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
54
ConnectTimeout 0
65
StrictHostKeyChecking no

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp