Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Bug]: Remote environments stay switched off after a protocol mismatch, even once the host is updated

已关闭 适合新手
#15,051 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@vitalyiegorov 已经在做这个了。

开始于 2026年10月3日。

  • #15052 来自 @vitalyiegorov —— 未关闭
  • #19251 来自 @shivamhwp —— 未关闭

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
78/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
typescript
领域
desktop

调研方向

从 packages/client-runtime/src/connection/registry.ts 中的 setCompatibility 开始,然后跟踪 enabled 和 unsupportedReason 如何影响连接和重新连接。复现一次协议不匹配,随后进行主机更新;完成标准是兼容性仅在 runtime 阶段阻止连接,兼容的环境能够重新连接,而有意关闭的环境保持关闭状态。

由索引模型根据 Issue 内容生成。

描述

bug via-triage
Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

Not sure

Steps to reproduce
  1. Update the client to a release with a new orchestration protocol (here #2829, 0.0.46-nightly.20261003.2610). A saved T3 Connect host, switched on, is still on the old protocol. Its row shows Client not supported.
  2. Update the host to the same release.
  3. Look at Settings → Connections, with or without relaunching the client.
Expected behavior

The environment reconnects once its host is compatible. The user never switched it off.

Actual behavior

It stays Off (tooltip: Switched off), and its threads disappear until the user notices and turns it back on by hand.

Cause

setCompatibility in packages/client-runtime/src/connection/registry.ts writes an incompatible environment into the user's persisted switched-off list (registrations.setEnabled(id, false)). The reason (unsupportedReason) is kept only in memory. When a fresh check clears it, or after a relaunch, the entry is indistinguishable from one the user switched off, so nothing turns it back on.

Suggested fix

Treat compatibility as runtime state. Keep setting unsupportedReason and disconnecting, but stop changing enabled or the persisted list. Connect only when enabled && !unsupportedReason, and reconnect when the block clears. An environment the user switched off stays off. I can open the PR.

Impact

Major degradation or frequent failure

Version or commit

[email protected] (main 8283b481a3)

Environment

macOS desktop client. Hosts: macOS (launchd) and Linux (systemd) services over T3 Connect.

Screenshots, recordings, or supporting files

Both hosts updated to the same nightly with relay tunnels registered. The client still shows them switched off:

Both saved environments stuck at T3 Connect · Off after their hosts were updated

Workaround

Turn each environment back on in Settings → Connections.

Related
  • #14979: same symptom, and its reporter confirmed every host was on the same build. Its triage scoped that issue to switch contrast (#14984), so this failure is untracked.
  • #11990 introduced persisting the rejection as switched off.
主要语言
TypeScript
星标
24.8k
派生
6.4k
平均合并
2 小时 54 分钟
30 天内合并 PR
350

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

pingdotgg/t3code 的其他 Issue

查看 pingdotgg/t3code 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。