Repository navigation
Show why a docs sync failed and keep the GitHub dialog current - #166
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 61f26febc6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| verificationAttempt.current = attempt; | ||
| verifyMergedSetup(); | ||
| }, [migration?.planId, migration?.status, migration?.pullRequest?.status, setupId]); | ||
| const polling = open && !wizardMode && source != null && syncInProgress(source); |
There was a problem hiding this comment.
Poll for syncs that start while the dialog is open
When the dialog opens with the source in sync and a GitHub push starts a sync afterward, this condition remains false, so no polling interval is installed. The local source is only refreshed by explicit actions, leaving the dialog showing stale status and missing the new run or its failure until the user refreshes or reopens it. Poll while the connected dialog is open, or subscribe to source updates, so it can observe runs that start after opening.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 09e447b: the dialog now polls the whole time it shows a connection, every 5 s during a sync and every 30 s otherwise, so a sync started by a push while it shows "In sync" is picked up. Checked in the browser: with the dialog open, a push moved it from the previous failure to "In sync" within 20 s, with no clicks.
- "What went wrong" lists the failed sync's diagnostics (file, location, message) instead of the bare error code. - The GitHub dialog polls every 5 seconds while a sync runs, so it settles on "In sync" or the failure without clicking Refresh. A retry after a failure shows as syncing. - File counts use the singular for one file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
61f26fe to
b3897bb
Compare
The dialog only polled once a sync was already running, so a sync started by a push while it showed "In sync" went unnoticed until Refresh. It now polls the whole time the connected dialog is open: every 5 s during a sync, every 30 s otherwise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Three small fixes to the GitHub dialog in the admin (Settings → Integrations → GitHub → Manage). They came up while smoke-testing #147.
BROKEN_LINK). It now lists the failed sync's diagnostics, with the file, the location and the message. The API already sent these; the dialog wasn't showing them. It falls back to the code when a failure has no diagnostics.Admin-only change; the API and public site are untouched. Rebased on
mainafter #147; the GitHub dialog keeps #147's API reference panel, which still reloads when a sync starts or finishes.Testing
check-typesand ESLint pass forapps/web(no new warnings).docs/<file>.md, the location in the page and "The target documentation page does not exist."🤖 Generated with Claude Code