diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ebdd24..19ca48b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ #### 调整 +- 网络详情的 IP 地址区块:菜单栏弹窗里只显示公网地址,本地 IPv4、本地 IPv6 与路由器只在主窗口的网络页显示;没有 IPv6 时不再显示“—”占一行,网卡没有 IPv6 地址就不显示“本地 IPv6”,拿不到公网 IPv6(网络或代理不支持)就不显示“公网 IPv6”。 - CPU 弹窗与主窗口 CPU 页的“按应用汇总”、仪表盘的“高占用进程”,CPU 改为占整机的比例:全部核心跑满为 100%,和顶部的总占用是同一把尺子。以前按单核满载为 100% 计(活动监视器的算法),多核 Mac 上一个应用动不动显示 99%、75%,容易误以为很吃 CPU;鼠标悬停在数值上仍可看到单核口径的数值。进程页保持单核口径,与活动监视器一致。 #### 样式 diff --git a/Packages/OpenStatsKit/Sources/OpenStatsUI/Popover/NetworkPopover.swift b/Packages/OpenStatsKit/Sources/OpenStatsUI/Popover/NetworkPopover.swift index 484768e..3d52c72 100644 --- a/Packages/OpenStatsKit/Sources/OpenStatsUI/Popover/NetworkPopover.swift +++ b/Packages/OpenStatsKit/Sources/OpenStatsUI/Popover/NetworkPopover.swift @@ -178,6 +178,7 @@ private struct InterfaceSection: View { private struct AddressSection: View { @Environment(AppModel.self) private var model + @Environment(\.isPopover) private var isPopover var body: some View { let network = model.network @@ -187,12 +188,20 @@ private struct AddressSection: View { Card(padding: DS.Space.s3, spacing: DS.Space.s2) { header - InfoRow(label: tr("本地 IPv4")) { CopyableText(text: physical?.ipv4.first ?? "—") } - InfoRow(label: tr("本地 IPv6")) { CopyableText(text: physical?.ipv6.first ?? "—") } - InfoRow(label: tr("路由器")) { CopyableText(text: physical?.router ?? "—") } + // 本地地址与路由器只在主窗口的网络页显示,菜单栏弹窗里只看公网 + if !isPopover { + InfoRow(label: tr("本地 IPv4")) { CopyableText(text: physical?.ipv4.first ?? "—") } + // 没有 IPv6 就不占行:网卡没有 IPv6 地址时不显示本地 IPv6,拿不到公网 IPv6 时不显示公网 IPv6 + if let localIPv6 = physical?.ipv6.first { + InfoRow(label: tr("本地 IPv6")) { CopyableText(text: localIPv6) } + } + InfoRow(label: tr("路由器")) { CopyableText(text: physical?.router ?? "—") } + } if lookup { InfoRow(label: tr("公网 IPv4")) { publicValue(publicAddresses?.ipv4, loading: network.isLookingUpPublic) } - InfoRow(label: tr("公网 IPv6")) { publicValue(publicAddresses?.ipv6, loading: network.isLookingUpPublic) } + if let publicIPv6 = publicAddresses?.ipv6 { + InfoRow(label: tr("公网 IPv6")) { CopyableText(text: publicIPv6) } + } if let publicAddresses, let code = publicAddresses.countryCode { InfoRow(label: tr("归属地")) { HStack(spacing: DS.Space.s2) { diff --git a/README.md b/README.md index fc04de7..8b13fb8 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,10 @@ system language by default; switch it in Settings → General → Language. -Latest release **0.3.2** (2026-09-16) · **8** changes in development · [full changelog](CHANGELOG.md) (kept in Chinese) +Latest release **0.3.2** (2026-09-16) · **9** changes in development · [full changelog](CHANGELOG.md) (kept in Chinese)
-2026-09-16 · Unreleased · 1 fixed · 1 changed · 5 style · 1 added +2026-09-16 · Unreleased · 1 fixed · 2 changed · 5 style · 1 added **Fixed** @@ -70,6 +70,7 @@ Latest release **0.3.2** (2026-09-16) · **8** changes in development · [full c **Changed** +- 网络详情的 IP 地址区块:菜单栏弹窗里只显示公网地址,本地 IPv4、本地 IPv6 与路由器只在主窗口的网络页显示;没有 IPv6 时不再显示“—”占一行,网卡没有 IPv6 地址就不显示“本地 IPv6”,拿不到公网 IPv6(网络或代理不支持)就不显示“公网 IPv6”。 - CPU 弹窗与主窗口 CPU 页的“按应用汇总”、仪表盘的“高占用进程”,CPU 改为占整机的比例:全部核心跑满为 100%,和顶部的总占用是同一把尺子。以前按单核满载为 100% 计(活动监视器的算法),多核 Mac 上一个应用动不动显示 99%、75%,容易误以为很吃 CPU;鼠标悬停在数值上仍可看到单核口径的数值。进程页保持单核口径,与活动监视器一致。 **Style** diff --git a/README.zh-CN.md b/README.zh-CN.md index a948797..469ab56 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -55,10 +55,10 @@ CPU 不分性能核与能效核,部分功耗与频率读数可能不显示。 -最新版本 **0.3.2**(2026-09-16) · 开发中 **8** 项改动尚未发布 · [完整更新日志](CHANGELOG.md) +最新版本 **0.3.2**(2026-09-16) · 开发中 **9** 项改动尚未发布 · [完整更新日志](CHANGELOG.md)
-2026-09-16 · 未发布 · 修复 1 · 调整 1 · 样式 5 · 新增 1 +2026-09-16 · 未发布 · 修复 1 · 调整 2 · 样式 5 · 新增 1 **修复** @@ -66,6 +66,7 @@ CPU 不分性能核与能效核,部分功耗与频率读数可能不显示。 **调整** +- 网络详情的 IP 地址区块:菜单栏弹窗里只显示公网地址,本地 IPv4、本地 IPv6 与路由器只在主窗口的网络页显示;没有 IPv6 时不再显示“—”占一行,网卡没有 IPv6 地址就不显示“本地 IPv6”,拿不到公网 IPv6(网络或代理不支持)就不显示“公网 IPv6”。 - CPU 弹窗与主窗口 CPU 页的“按应用汇总”、仪表盘的“高占用进程”,CPU 改为占整机的比例:全部核心跑满为 100%,和顶部的总占用是同一把尺子。以前按单核满载为 100% 计(活动监视器的算法),多核 Mac 上一个应用动不动显示 99%、75%,容易误以为很吃 CPU;鼠标悬停在数值上仍可看到单核口径的数值。进程页保持单核口径,与活动监视器一致。 **样式** diff --git a/project.yml b/project.yml index a2fe84f..6acfe19 100644 --- a/project.yml +++ b/project.yml @@ -13,7 +13,7 @@ settings: SWIFT_VERSION: "6.0" MARKETING_VERSION: "0.3.2" # 构建号四位数字,每次 make build 加一;营销版本只在发布时用 Scripts/version.sh patch / minor 修改 - CURRENT_PROJECT_VERSION: "0083" + CURRENT_PROJECT_VERSION: "0085" MACOSX_DEPLOYMENT_TARGET: "14.0" # 本地开发使用 ad-hoc 签名;发布时改为 Developer ID(见 docs/PLAN.md) CODE_SIGN_STYLE: Manual