You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: remote ide no longer reconnects after plugin upgrade (#167)
When the plugin is upgraded while JBClient is connected to a remote dev
server via the Coder SSH proxy/tunnel, the upgrade process kills and
re-establishes the SSH connection. However, JBClient/Toolbox fails to
detect the restored connection and reports "Toolbox: Target environment
com.coder.toolbox:bobiverse-bob.dev not found" error.
While digging into the Toolbox bytecode—specifically
`ClientOverSshTunnelConnector` — I realized the issue likely stems from
an incorrect equals implementation in our custom SSH connection info
object. In short, when a plugin upgrade terminates the SSH tunnel, the
connector’s monitoring logic correctly detects the lost connection and
waits. But when the SSH connection is re-established, the monitoring
logic fails to recognize it as a valid replacement, because equals is
still using the default `Object#equals` rather than a proper value-based
implementation.
Unfortunately, I wasn’t able to properly test this—specifically,
upgrading from a version without the fix to one that includes it—because
all Toolbox marketplace feeds are signed, preventing us from using a
tool like mitmproxy to serve a locally modified plugin version. Given
that, I propose releasing the change first and then performing the
upgrade test to confirm the fix.
- resolves#61
0 commit comments