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
{{ message }}
Repository navigation
Split remote.ts by topic, starting with migrations #1066
`src/remote/remote.ts` is 1,207 lines and mixes every concern of remote setup in one class. Recent work (per-editor SSH configs, legacy authority migration) keeps growing it.
Extract migrations first, e.g. into `src/remote/migrations.ts`. They are self-contained, interact little with the rest of setup, and each has a deletion horizon; keeping them together makes them easy to find and eventually remove.
If that lands well, extract SSH config assembly next. It is the most test-heavy area and only needs the path resolver, settings, and logger.
Keep orchestration (`setup`/`setupCoderRemote`) in `remote.ts`.
Non-goals: no behavior changes and no new abstractions; move plain methods by topic and keep the telemetry span threading as is.
Next up is SSH config assembly.remote.ts is now 1,149 lines, and setupCoderRemote alone is ~310 of them. The next candidates are updateSSHConfig, writeRemoteSshConfig, buildSshProxyCommand, getLogArgs/getLogDir and getMainSshConfigPath.
Activity
linear-code commentedon Aug 5, 2026
ENG-3137
EhabY commentedon Oct 5, 2026
Status update:
src/remote/migration.ts(Improve credential lifecycle and log hygiene #1054). The legacy authority helpers are insrc/remote/authority.tsafter refactor: organize extension and webview code by topic #1134.remote.tsis now 1,149 lines, andsetupCoderRemotealone is ~310 of them. The next candidates areupdateSSHConfig,writeRemoteSshConfig,buildSshProxyCommand,getLogArgs/getLogDirandgetMainSshConfigPath.core/was split intocli/,storage/andvscode/, so update any import paths in a plan.commands.tshas the same problem, tracked in #1135.