Skip to content

Fix: archived-check shows "unknown" for unreachable repos, not silence - #198

Closed
clickmatos wants to merge 1 commit into
mainfrom
fix-archived-unknown-indicator
Closed

Fix: archived-check shows "unknown" for unreachable repos, not silence#198
clickmatos wants to merge 1 commit into
mainfrom
fix-archived-unknown-indicator

Conversation

@clickmatos

Copy link
Copy Markdown
Contributor

Summary

Reported: maestro-frontend is archived on GitHub, but the /repos page showed no badge for it — reading as "confirmed not archived." Confirmed the real cause: it's private (gh repo view RocketBus/maestro-frontendisArchived: true, visibility: PRIVATE), and the session's GitHub OAuth scope has no repo grant (only read:user user:email read:org, per #196), so the archived check 404s for it and correctly returns null (unknown) — not false.

The bug was purely in the UI: null and false both rendered as "no badge," making "confirmed not archived" and "couldn't check" visually identical.

This isn't an edge case for RocketBus: 945 of 948 repos (99%) are private. The archived-check feature as shipped in #196 only works for the ~3 public repos — every private repo silently looked "not archived" even when checked.

Fix (this PR)

A checked repo that came back null now gets a distinct "unknown" tag with a tooltip explaining why, instead of rendering identically to "confirmed not archived."

Bigger question (not fixed here — flagging for a decision)

Given 99% of real repos are private, the underlying feature is close to non-functional without broader access. Options if this is worth pursuing further:

  1. Request the repo OAuth scope at login (re-consent flow for existing users, larger security surface — this is exactly the tradeoff flagged and deferred when Add stale + archived filters to the /repos dashboard page #196 was scoped).
  2. A GitHub App installation instead of user OAuth, with org-level access independent of any one user's session.
  3. Leave it as-is: a best-effort check that's honest about its "unknown" cases, useful mainly for orgs with mostly-public repos.

Not deciding this here — this PR only fixes the misleading UI for the current (public-repos-only) design.

Test plan

🤖 Generated with Claude Code

…ived checks

Reported: maestro-frontend is archived on GitHub but the repos page
showed no badge for it, reading as "confirmed not archived" — it's
actually private, and the session's GitHub OAuth scope has no `repo`
grant, so the archived check 404s and correctly returns null (unknown)
for it. The bug was purely in the UI: null and false both rendered as
"no badge," indistinguishable to anyone looking at the list.

99% of RocketBus's own repos are private (945/948), so this wasn't an
edge case — it's the common case for real orgs using this feature.

Now a checked-but-unreachable repo gets a distinct "unknown" tag with
a tooltip explaining why, instead of silently looking identical to
"confirmed not archived".

Co-Authored-By: claude-code_2-1-238_agent <claude-code_2-1-238_agent@iris.invalid>
@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clickbus-iris Building Building Preview Aug 26, 2026 8:37pm

Request Review

@clickmatos

Copy link
Copy Markdown
Contributor Author

Superada pela #199, que remove o recurso de checagem de arquivados por completo (99% dos repos da RocketBus são privados, tornando a checagem pouco útil na prática sem ampliar o escopo do OAuth).

@clickmatos clickmatos closed this Aug 26, 2026
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