Skip to content

fix(desktop): announce bot channel status once - #2552

Merged
likun666661 merged 1 commit into
apache:mainfrom
me2seeks:fix/2551-remote-status-announcement
Aug 16, 2026
Merged

fix(desktop): announce bot channel status once#2552
likun666661 merged 1 commit into
apache:mainfrom
me2seeks:fix/2551-remote-status-announcement

Conversation

@me2seeks

Copy link
Copy Markdown
Contributor

Summary

  • Treat the remote-access detail header's status dot as decorative when the adjacent text already supplies the same state.
  • Pin the channel heading's exact accessible name in the existing settings journey.

The visible header is unchanged, while screen readers now announce Discord 运行降级 instead of repeating the status.

Fixes#2551

Verification

  • npx biome check apps/desktop/src/renderer/settings/bot-chat-detail.tsx apps/desktop/e2e/settings.spec.ts
  • npm --workspace @maka/desktop run typecheck
  • npm --workspace @maka/desktop test
  • npm --workspace @maka/desktop run build-storybook
  • Storybook accessibility snapshot reports the exact heading Discord 运行降级 (previously Discord 运行降级 运行降级).
  • The affected bot story passed the visual smoke run. The aggregate smoke run still fails only on the icon catalog tracked by fix(storybook): ignore non-component exports in the icon catalog #2541 / fix(storybook): filter non-component icon exports #2544.
  • The focused Electron E2E built successfully but could not launch locally because this container has no X server; CI will run it in the repository environment.
中文对照

概要

  • 当相邻文字已经提供同一状态时,将远程接入详情标题里的状态圆点作为装饰元素处理。
  • 在现有设置 E2E 流程中固定渠道标题的精确可访问名称。

可见界面保持不变,读屏会播报 Discord 运行降级,不再重复状态。

验证

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — this is the minimal fix at the correct accessibility boundary. The StatusDot is non-interactive and duplicates the adjacent visible readiness text, so hiding only its accessibility node changes the heading from Discord 运行降级 运行降级 to Discord 运行降级 without removing the channel state. No CSS, layout, color, size, position, or visible behavior changes.

The production hunk still applies cleanly to current main. The branch conflict comes from the old remote-access settings E2E journey having since been removed. When rebasing, please keep the aria-hidden fix but avoid restoring that deleted presentation-only journey just to retain this assertion. Dropping the obsolete assertion is reasonable; alternatively, it can move to a focused test in the current accessibility test seam.

Once rebased and green on current CI, this should be ready to merge.

中文对照

已批准。这是在正确无障碍边界上的最小修复。StatusDot 不可交互,并且与相邻的可见状态文字重复,因此只隐藏它的 accessibility node,会把标题从 Discord 运行降级 运行降级 修正为 Discord 运行降级,不会丢失渠道状态。CSS、布局、颜色、尺寸、位置和可见行为都没有变化。

生产代码改动仍可干净应用到当前 main。分支冲突是因为旧的远程接入设置 E2E 流程已经被删除。rebase 时请保留 aria-hidden 修复,但不要仅为了保留这条断言而恢复已删除的 presentation-only journey。直接删除过时断言是合理的;也可以把它迁移到当前测试架构下的聚焦无障碍测试。

rebase 并通过当前 CI 后即可合并。

AI-assisted review disclosure: Codex assisted with diff inspection, accessibility-name verification, current-main conflict analysis, and draft wording. Astro-Han verified that the adjacent text remains the status authority, confirmed the absence of visual changes, and made the final approval decision.

@me2seeks
me2seeksforce-pushed the fix/2551-remote-status-announcement branch from ce1a587 to d3de6e6CompareAugust 12, 2026 13:49

@Astro-HanAstro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex automated review

I reviewed exact head d3de6e67dd82353885c7f1941f128cac04e869e5. I found no specific, reproducible P0–P3 production issue.

StatusDot normally renders a labelled role="img"; this detail heading already renders the same readiness as adjacent visible text. Applying aria-hidden="true" to this one decorative instance removes only the duplicate accessible node while preserving the visible status and every readiness/error update. This is a minimal one-file fix, with no notification, reconnect, persistence, or multi-consumer lifecycle involved. Current checks are green.

Optional follow-up: a focused accessible-name assertion would document the regression because the exact head does not change a test file, but I do not consider that a merge-blocking finding. I do not recommend splitting this PR.

Disclosure: This is an automated review performed by Codex using delegated adversarial review passes and a final evidence check. It has not been independently verified by Astro-Han or another human reviewer, does not constitute human approval, and does not represent the final judgment of a human reviewer.

@likun666661
likun666661 merged commit 073d23b into apache:mainAug 16, 2026
10 checks passed
Sign up for freeto 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.

fix(desktop): avoid duplicate remote-access status announcements

3 participants

@me2seeks@Astro-Han@likun666661