[BUG]: Overview wrongly lists a successfully-loaded org as "could not be loaded" (case / duplicate)

未关闭 适合新手
#400 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 4 天内回复

@Rajvardhan-Singh-Rathore 已经在做这个了。

开始于 2026年10月28日。

  • #426 来自 @Rajvardhan-Singh-Rathore —— 未关闭

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
82/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
github, javascript, react
领域
frontend

调研方向

从 src/pages/OverviewPage.jsx 开始,重点查看第 26-27 行和第 109-113 行附近的组织验证比较和警告;将该逻辑与 explore() 中的去重进行比较。运行 node f3_case_warning.mjs 以重现大小写和重复项的情况。当已加载的组织不再被列为失败,且警告数量与失败名称的数量一致时,即为完成。

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

描述

bug
Bug Description

OverviewPage.jsx (lines 26-27) compares the user's raw typed org names against GitHub's
canonical login casing with a case-sensitive exact match:

const verifiedOrgs = orgs.map(o => o.login)          // canonical casing from GitHub
const notVerifiedOrgs = chips.filter(c => !verifiedOrgs.some(org => c.trim() === org))

chips are the names the user typed, passed verbatim from HomePage. The warning banner shows
when chips.length > orgs.length (line 109). Because the comparison is case-sensitive and chips
aren't deduped the way explore() dedupes them, a loaded org can be reported as failed:

  • Type "aossie-org, nope-not-real": GitHub returns login "AOSSIE-Org", so "aossie-org" fails
    the === and the banner reads "1 of 2 organizations could not be loaded: aossie-org,
    nope-not-real." — a count of 1 with two names, one of which loaded fine.
  • Type "aossie-org, AOSSIE-Org" (same org, two cases): explore() dedupes to 1 org, but
    chips.length is 2, so a plain duplicate is reported as a failed org.
Steps to Reproduce
  1. On the home page, enter two org chips where one is a real org typed in non-canonical case
    (e.g. "aossie-org") and the other is a bad name, then Explore.
  2. On Overview, the yellow warning names the real org among those that "could not be loaded".

Deterministic check (runs the exact OverviewPage expression):

node f3_case_warning.mjs
Logs and Screenshots

=== F3 Overview "could not be loaded" warning ===

A) typed: "aossie-org", "nope-not-real" | loaded: AOSSIE-Org
-> Analysis completed with warnings: 1 of 2 organizations could not be loaded: aossie-org, nope-not-real.
BUG: says 1 failed but lists 2 names, and names "aossie-org" which loaded fine.

B) typed: "aossie-org", "AOSSIE-Org" | loaded: AOSSIE-Org (deduped)
-> Analysis completed with warnings: 1 of 2 organizations could not be loaded: aossie-org.
BUG: a plain case-duplicate is reported as an org that "could not be loaded".

C) typed: "AOSSIE-Org" | loaded: AOSSIE-Org
-> (no warning shown)
📎 Image file:

Image
Environment Details
  • OS: macOS - Browser: Chrome
  • Repo: main @ d91d2b8, src/pages/OverviewPage.jsx lines 26-27 and 109-113
  • Suggested fix: compare case-insensitively and dedupe chips the same way explore() does
    (e.g. derive the failed set from lastOrgNames vs orgs[].login with .toLowerCase()).
  • Context: this is a defect in the "rejected orgs" warning added by merged PR #319
    (which closed #317). #319 surfaced failed orgs; this report is that the surfacing logic
    produces false positives. No existing open issue tracks it.
Impact

Low - Minor inconvenience

Code of Conduct
  • I have joined the Discord server and will post updates there
  • I have searched existing issues to avoid duplicates
主要语言
JavaScript
星标
48
派生
163
平均合并
4 天 13 小时
30 天内合并 PR
25

环境准备

从这里开始

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

AOSSIE-Org/OrgExplorer 的其他 Issue

查看 AOSSIE-Org/OrgExplorer 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

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