fix: review follow-ups for the connector checks stack
Merged
EV
10h ago+861+861+012345678901234567890123456789-197-197-012345678901234567890123456789
Description
Fixes for the review comments on the connector checks stack (#16201 to #16266). The fixes are in one PR at the top of the stack, so the PRs under it do not have to run CI again.
Row text and counts
- GitHub: when every repository fails for different reasons, the row names each kind of failure (#16201).
- Jira: counts of one use the singular. The four local
_countedhelpers (GitHub, HubSpot, SharePoint, Slack) are now one sharedcounted()inonyx/connectors/models.py(#16201). - Linear: the sign-in summary stays within 40 characters (#16201).
- SharePoint: the library row shows "First N of M" only when the probe cap cut the list, not when a site returned 404 (#16202).
- OneDrive: locked users (423) are reported apart from missing users. If every user is locked, the row is Incomplete (#16203).
- Outlook: a group name that matches several groups reads as ambiguous, not as "No group matches" (#16204).
Outcomes
- SharePoint: a certificate whose end date is past fails its row (#16202).
- Outlook: the mail and calendar samples depend on the selected mailboxes and groups rows. One unreachable mailbox now fails one row, not three (#16204).
- Generic row: the HTTP status and the Error Details follow the same exception chain (#16206).
Config formats
- Confluence page IDs take ASCII digits only (#16205).
- Notion page URLs must be on a Notion host, not a host that contains one (#16212).
- SharePoint site URLs are checked for
/sites/,/teams/or/personal/in the path only (#16212).
Draft runs and stored runs
- A skipped, stopped or failed dependency makes a dependent's reused pass show "Not run". This honours both
depends_onanddepends_on_any(#16209). - A Re-run does not keep a stale skipped discovery check (#16209).
- A stored run in progress shows its two-step rows from its progress, and open checks keep their
row_idandstep(#16210).
Tests
- The wave test fails when the gateway check does not run beside the connector checks (#16259).
How Has This Been Tested?
- Each fix has a focused unit test. Most of the new tests fail without their fix.
- Unit tests:
tests/unit/onyx/connectorsandtests/unit/onyx/server, 7269 passed. - External dependency unit tests:
tests/external_dependency_unit/connectors/capability_checks, 95 passed. - ruff, ty and pre-commit pass.
Additional Options
- [Optional] Please cherry-pick this PR to the latest release version.
- [Optional] Override Linear Check
🤖 Generated with Claude Code
Summary by cubic
Applies review follow-ups for the connector checks stack, focused on row text accuracy, check outcomes, config validation, and draft run dependency handling.
Row text and outcomes
- GitHub names each failure kind when every repository fails for different reasons.
- Jira uses singular count forms via a shared
counted()helper inonyx/connectors/models.py. - Linear falls back to a short sign-in line when the email is too long.
- OneDrive reports locked users (423) separately from missing ones; all locked stays Incomplete.
- Outlook names a group matching several entries as ambiguous, and its samples run after the selected-scope checks; when nothing is selected those checks do not apply and the samples still run.
- SharePoint shows the probe cap only when it cut the list, expired certificates fail their row, and
_gateway()reads its cached Graph gateway once so a concurrent REST rebuild cannot return None. - The generic row's HTTP status and Error Details now follow the same exception chain.
Draft runs, config validation, and tests
- A reused pass shows "Not run" when a dependency is skipped, stopped, or failed, honoring
depends_onanddepends_on_anyonce every member has a result. - Re-runs don't keep stale skipped discovery checks; stored runs in flight show rows from their progress.
- Confluence page IDs take ASCII digits only, Notion URLs must be on a Notion host, and SharePoint site markers are checked in the URL path only.
- The wave test fails when the gateway check doesn't run alongside the connector checks.
Summary by CodeRabbit
-
Capability Checks
- In-progress checks now display active steps accurately.
- Dependent checks are re-evaluated and marked “Not run” when prerequisites fail or are skipped.
- Reused results are refreshed when dependencies change.
- Checks that do not apply to the selected configuration are reported appropriately.
-
Bug Fixes
- Improved HTTP error details and resource-status reporting.
- Corrected validation for Confluence, Notion, and SharePoint URLs and identifiers.
- Expired SharePoint certificates are now reported as credential errors.
- SharePoint gateway handling remains reliable after cache resets.
-
User Experience
- Results use clearer singular/plural wording and safer summaries for long account names.
- SharePoint checks provide clearer sampling limits and advisories.