Skip to content

issue 模板精简为单一 Bug 模板,点击直达不再弹卡片#86

Merged
Sway-Chan merged 1 commit into
dododook:mainfrom
Sway-Chan:chore/issue-template-single
Jun 19, 2026
Merged

issue 模板精简为单一 Bug 模板,点击直达不再弹卡片#86
Sway-Chan merged 1 commit into
dododook:mainfrom
Sway-Chan:chore/issue-template-single

Conversation

@Sway-Chan

Copy link
Copy Markdown
Collaborator

目的

让点击 New Issue 直接进 Bug 模板,不再先弹模板选择卡片。

GitHub 的选择器只在「有 ≥2 个选项」时出现。此前有 Bug 模板 + 功能建议模板 + Discussions 链接共 3 项,故弹卡。本 PR 把选项砍到只剩 1 个:

  • feature_request.md(第二张卡)
  • config.yml 去掉 contact_links、保留 blank_issues_enabled: false(压掉 Blank 选项)
  • 只剩 bug_report.md 单一模板 → 选择器被跳过,直接打开(标题 [Bug] + 正文分段模板照常预填)

代价(已知并接受):不再有「功能建议」结构化模板与 Discussions 分流卡;相关引导折进 Bug 模板顶部注释,导向 Discussions。

牺牲功能建议/Discussions 分流,换「New Issue → 直接进 Bug 模板」:
- 删 feature_request.md(消除第二张卡)
- config.yml 去掉 contact_links、保留 blank_issues_enabled: false(压掉 Blank 选项)
- 仅剩单一模板 → GitHub 跳过选择器直接打开,标题/正文照常预填
- 功能建议/使用求助引导折进 Bug 模板顶部注释(导向 Discussions)
@Sway-Chan
Sway-Chan merged commit 8bc1558 into dododook:main Jun 19, 2026
2 checks passed
@Sway-Chan
Sway-Chan deleted the chore/issue-template-single branch June 19, 2026 01:20
Sway-Chan added a commit to Sway-Chan/FlowZ that referenced this pull request Jun 19, 2026
Sway-Chan added a commit to Sway-Chan/FlowZ that referenced this pull request Jun 19, 2026
…in 取消/ICMP 热切 regen/toast serverId)

- #3 DNS reverse 翻转:singbox-dns-builder 地区分流 DNS 解析器镜像 route 侧 reverse——
  reverse 时 region-local 域名→dns-remote、其余→dns-domestic、dns.final 翻 dns-remote;
  正向字节零变(新增 reverse config-snapshot fixture,既有 34 快照不变)。
- #7 ir/ru region geosite DNS 侧 fail-closed:引用 region geo rule_set 前镜像 route 的
  isValidSrsFile 缺失即跳过,防 DNS 悬空 rule_set 致 sing-box initialize FATAL。
- #8 watchTailscaleLogin 取消收紧:isCancelled 加 tailscaleEndpointInRunningCore 判定
  (节点已切走且未就绪/已删除→取消),避免空转到 2min + 对已切走节点误发 AUTH_OK;
  成功路径不破坏(state 落盘→ready→不取消→check 命中发 AUTH_OK)。
- #9 ICMP 兜底跨边界 regen:抽 selectedExitRoutesIcmpViaProxy 单一真值(route 发射 +
  热切换共用),planHotSwitch 检测跨 proxy↔direct 边界即退回去抖重启重生成 config。
- NIT③ toast serverId:EVENT_TAILSCALE_AUTH_URL 带 serverId,渲染端 tsAuthToastId 用
  serverId??nodeName,防同 hostname 不同 serverId 节点登录 toast 冲突。
Sway-Chan added a commit to Sway-Chan/FlowZ that referenced this pull request Jun 19, 2026
dododook#86-122 复审硬化终审:eslint --fix 收敛 4 处 prettier/prettier 警告至 0 warning,
纯格式(换行合并/拆分),零行为变化。本轮两遍 gate 全绿(tsc main+renderer 0 错、
jest 96 suites/1459 tests/35 snapshots 全 pass)。
Sway-Chan added a commit that referenced this pull request Jun 20, 2026
* refactor: 精简 #86-122 收敛面(原子写/登录轮询/safeUrl/IPC 常量/dns lambda 等)

- 抽 utils/atomic-write.writeFileAtomic:ConfigManager.saveConfig(保留 <rand6hex> 后缀匹配 sweep 正则 + mode:0o600)
  与 WarpDeregisterQueue.writeQueueToDisk(默认 pid+随机后缀)复用;ProxyManager.atomicWrite 因固定 .tmp 后缀是
  孤儿清扫正则契约保持原样
- 抽 shared/url.safeHttpUrl,替换 ProxyManager.handleTailscaleLoginUrl + use-native-events.handleTailscaleAuth 两处内联
- ProxyManager.watchTailscaleLogin 改走 runLoginPollLifecycle(Phase1 kill no-op);抽 emitTailscaleAuthOk 供两路共用
- ProxyManager.cleanup 收尾 tailscaleAuthSeen.clear()(URL 去重绑定核会话)
- buildSpeedTestOutbound wireguard 分支用 isEndpointProtocol 单一真值(保留 tailscale→null 特例)
- ProtocolParser.parseTuic heartbeat 接 normalizeDuration(与 parseAnyTls idle 对齐,防订阅裸毫秒 missing unit)
- singbox-dns-builder 抽 withDotPrefix(NTP/others/bypass 三处)+ INTERNAL_DNS_SUFFIXES(保留 .local/bank 不合并)
- IPC 常量收敛:补 EVENT_EXIT_PRIVACY_MODE/EVENT_NAVIGATE,index/Tray/UpdateService/tray-actions/App 裸字符串改引常量
- 删 App.tsx 冗余 refreshTailscaleLoginStates(loadConfig 内已 fire-and-forget 刷新)

行为字节保持:config-snapshot 34 快照零变化;gate 全绿(eslint/tsc×2/jest 1423 通过)。

* fix: #86-122 复审硬化(时长字段归一化防内核FATAL/瞬态登录核SIGKILL升级/登录态整表防覆盖)

* fix: #86-122 复审硬化续1(locale 全 4 约束/WARP drain 补跑/IpInfo 重试收敛 + NIT TUIC·AnyTLS·DoH + #1/#2/#5 补单测)

* fix: #86-122 复审硬化续2(DNS reverse 翻转/ir-ru 剪枝/watchTailscaleLogin 取消/ICMP 热切 regen/toast serverId)

- #3 DNS reverse 翻转:singbox-dns-builder 地区分流 DNS 解析器镜像 route 侧 reverse——
  reverse 时 region-local 域名→dns-remote、其余→dns-domestic、dns.final 翻 dns-remote;
  正向字节零变(新增 reverse config-snapshot fixture,既有 34 快照不变)。
- #7 ir/ru region geosite DNS 侧 fail-closed:引用 region geo rule_set 前镜像 route 的
  isValidSrsFile 缺失即跳过,防 DNS 悬空 rule_set 致 sing-box initialize FATAL。
- #8 watchTailscaleLogin 取消收紧:isCancelled 加 tailscaleEndpointInRunningCore 判定
  (节点已切走且未就绪/已删除→取消),避免空转到 2min + 对已切走节点误发 AUTH_OK;
  成功路径不破坏(state 落盘→ready→不取消→check 命中发 AUTH_OK)。
- #9 ICMP 兜底跨边界 regen:抽 selectedExitRoutesIcmpViaProxy 单一真值(route 发射 +
  热切换共用),planHotSwitch 检测跨 proxy↔direct 边界即退回去抖重启重生成 config。
- NIT③ toast serverId:EVENT_TAILSCALE_AUTH_URL 带 serverId,渲染端 tsAuthToastId 用
  serverId??nodeName,防同 hostname 不同 serverId 节点登录 toast 冲突。

* style: 清零 prettier 残留警告(min_idle_session 测试单行/inbounds 链式缩进/ip 测试换行)

#86-122 复审硬化终审:eslint --fix 收敛 4 处 prettier/prettier 警告至 0 warning,
纯格式(换行合并/拆分),零行为变化。本轮两遍 gate 全绿(tsc main+renderer 0 错、
jest 96 suites/1459 tests/35 snapshots 全 pass)。

* fix(ipc): 修复测速 toast 通道被误并入逐节点通道——新增独立常量 EVENT_SPEED_TEST_RESULT_LIST('speedTestResult');IPC 收敛误把托盘 toast 的裸串映射成 EVENT_SPEED_TEST_RESULT('event:speedTestResult')致 toast 监听收到逐节点对象 results.map 崩溃 + latencyMap 污染
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant