Files
Evan LohnandClaude Opus 5.5 50977b03ca fix: review follow-ups for the connector checks stack (#16320)
## 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 `_counted`
helpers (GitHub, HubSpot, SharePoint, Slack) are now one shared
`counted()` in `onyx/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_on` and `depends_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_id` and `step` (#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/connectors` and `tests/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.
- [x] [Optional] Override Linear Check

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated description by cubic. -->
---
## 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 in
`onyx/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_on` and `depends_on_any` once 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.

<sup>Written for commit f682f3614a.
Summary will update on new commits.</sup>

<a
href="https://cubic.dev/pr/onyx-dot-app/onyx/pull/16320?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="View guided diff"
src="https://www.cubic.dev/buttons/review-in-cubic-light.svg"></picture></a>
<a
href="https://www.cubic.dev/action/auto-fix/pr/onyx-dot-app/onyx/16320?returnTo=https%3A%2F%2Fgithub.com%2Fonyx-dot-app%2Fonyx%2Fpull%2F16320&source=description"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"><img
alt="Turn on auto-fix"
src="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"></picture></a>

<!-- End of auto-generated description by cubic. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
<!-- coderabbit-ai-generated:v1 -->

## 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.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 02:10:48 +00:00
..