Skip to content

[Enhancement] stuck_at_loopback 警示不应只出现在 Settings 页 #232

Description

@flyhigher139

背景

Issue #153 给前端加了独立于 Rust 内存态的系统 DNS 真值来源(probe_system_dns IPC),并在 dnsEnabledAtom 与 OS 实际状态分歧时显示不一致横幅。

PR #231 review 指出一个体验缺口(reviewer 明确标注为「观察,不算缺陷」):横幅只在 Settings 页。

问题

stuck_at_loopback(显示 Stopped,但系统 DNS 仍指向 127.0.0.1)意味着用户的网络解析已经坏了 —— 所有域名解析直接失败。而用户此时最可能做的事是:

  • 回到浏览器看网页打不开 → 以为是网络坏了
  • 去终端 ping / curl → 看到 DNS 解析失败
  • 在 mHost 里到处点别的页面(Profiles / AdBlock / Snapshot)

他不太可能想到「哦我应该去 Settings 页看一个横幅」。 横幅做得再好,放在一个用户想不到要去的页面上,等于没有。

目标

给 stuck_at_loopback 提供一个不需要用户主动去 Settings 就能看到的轻量警示入口。

候选方案(未排序,需讨论)

方案 说明 取舍
托盘图标/tooltip 警示 tray_logic::build_tooltip_text 已存在(tray.rs::build_tooltip),加一个「⚠」前缀或副标题 托盘常驻可见;但 tooltip 只有悬停才看得到,且 build_tooltip_text 目前只吃一个 Option<&str> profile 名,要改签名
侧边栏 StatusBar 状态点变红 状态条常驻侧栏底部,DNS 那一栏已经订阅了 dnsEnabledAtom 加一个派发 atom 即可;但 #90 perf 报告点过名「sidebar atom 订阅」,需要评估
主页面顶部横幅 横跨所有路由 可见性最高;但会挡住内容、影响各页面布局,review 时容易被挑
发一条 Tauri notification tauri-plugin-notification 系统级,最不容易被忽略;但需要新依赖 + 新权限 capability,且「不打扰」是产品原则之一(readme.md),要谨慎

不在范围内

关联

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions