paperclip/doc
Dotta 856813ba3a
fix(connections): distinguish local setup from provider handoff (#12947)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - Connections give those agents access to external services.
> - Connection setup first asks who may use the credential.
> - Some providers need a local method selection before OAuth starts.
> - The Access button said it would open GitHub even when it opened
another local step.
> - This pull request names the actual next action and shows the
external arrow only for a provider handoff.
> - Users can distinguish local setup from leaving Paperclip.

## Linked Issues or Issue Description

Refs: #12943

The browser audit found a second, separate clarity problem. GitHub
showed "Continue to GitHub" twice: once to open its local method
selection and once to start OAuth. The first label promised the wrong
action. This change fixes that label without adding or removing a setup
step.

## What Changed

- Use "Continue" when Access opens another local OAuth setup step.
- Keep "Continue to <provider>" and the external arrow when Access
starts OAuth directly.
- Test GitHub defaults, pre-enrollment setup, direct Notion OAuth, and
dialog behavior.
- Document the two GitHub button actions.
- Preserve the external-handoff arrow in the direct-OAuth Storybook
fixture.

## Verification

- Targeted connection tests: 114 passed.
- `pnpm --filter @paperclipai/ui typecheck`: passed.
- `pnpm --filter @paperclipai/ui build`: passed.
- `node scripts/check-token-gates.mjs`: passed.
- `git diff --check`: passed.
- After the Storybook review fix: 100 connection-flow tests, UI
typecheck, token gates, and Storybook build passed; visually confirmed
the Gmail handoff arrow and local GitHub step labels.
- Actual test-drive browser: confirmed default personal identity and Any
agent; clicked Continue to the local method screen; switched PAT and
OAuth; returned to Access with selections intact; cancelled without a
duplicate connection.
- Live OAuth, local MCP identity, and a real staging sandbox task passed
during the audit. This patch does not change those paths.
- Full local suite has known unrelated macOS path/runtime test failures
from the audit. All CI passed on head
`936ce09f4e1faaf09f9fb778c2cd4c65c2a41972`, including typecheck, build,
all test shards, browser tests, and canary dry run. Greptile: 5/5; no
unresolved comments.

## Risks

- Low risk. This changes button text and an icon cue only. There is no
new schema, permission, consent, or credential behavior.
- Providers with multiple methods now say Continue before their method
screen. Direct OAuth providers keep their existing wording.

## Model Used

- OpenAI Codex assisted with code, tests, terminal checks, and actual
browser verification. The runtime does not expose the exact model ID or
context-window size, so those details are unavailable.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` /
`Closes: #` / `Refs: #` OR (b) described the issue in-PR following the
relevant issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub references)
- [x] My branch name describes the change and contains no internal
Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass (targeted tests; full-suite
caveats above)
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] All Paperclip CI gates are green
- [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

---------

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-09-06 17:43:48 -05:00
..
architecture feat(runner): add managed provider backends (#12699) 2026-09-02 00:48:30 -05:00
assets
connections fix(connections): distinguish local setup from provider handoff (#12947) 2026-09-06 17:43:48 -05:00
design
experimental
logs
plans
plugins
pr/5429
screenshots
spec
AGENT-ARTIFACTS.md
AGENTCOMPANIES_SPEC_INVENTORY.md
CHANNELS.md
CLI.md fix(cli): restore test-drive credential inputs (#12898) 2026-09-05 10:48:17 -05:00
CLIPHUB.md
DATABASE.md fix(runner): recover native sessions across restarts (#12845) 2026-09-04 15:03:53 -05:00
DEPLOYMENT-MODES.md fix(security): harden privileged server boundaries (#12776) 2026-09-03 14:15:32 -05:00
DEVELOPING.md fix(cli): restore test-drive credential inputs (#12898) 2026-09-05 10:48:17 -05:00
DOCKER.md
GOAL.md
HERMES_GATEWAY_ONBOARDING.md
HERMES_GATEWAY_SMOKE.md
INSTALLING.md
LOW-TRUST-PRESETS.md
MCP-ACCESS-GOVERNANCE.md
MCP-DEMO-SCRIPT.md
MCP-RUNTIME-OPERATIONS.md feat(apps): consolidate connector management (#12684) 2026-09-01 14:55:35 -05:00
OPENCLAW_ONBOARDING.md
PRODUCT.md
PUBLISHING.md
README-draft.md
RELEASE-AUTOMATION-SETUP.md
RELEASE-CHECKLIST.md
RELEASE-NOTES-mcp-access-governance.md
RELEASING.md
SECRETS-AWS-PROVIDER.md
SPEC-implementation.md fix(security): harden privileged server boundaries (#12776) 2026-09-03 14:15:32 -05:00
SPEC.md
TASK-WATCHDOG.md
TASKS-mcp.md
TASKS.md
TELEMETRY_WORKFLOW.md
UNTRUSTED-PR-REVIEW.md
acp-run-lifecycle.md
connection-intents.md
execution-semantics.md Remove cheap model profiles (#12683) 2026-09-01 14:57:38 -05:00
memory-landscape.md
observability.md feat(server): split the Sentry DSN into front-end and backend variables (#12678) 2026-09-01 11:02:04 -07:00
run-log-events.md fix(runner): recover native sessions across restarts (#12845) 2026-09-04 15:03:53 -05:00