Skip to content

Manage project service connections in the dashboard - #854

Merged
motatoes merged 2 commits into
mainfrom
feat/project-service-connections-ui
Oct 7, 2026
Merged

motatoes merged 2 commits into
mainfrom
feat/project-service-connections-ui

Conversation

@motatoes

@motatoes motatoes commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Adds explicit project-wide OAuth attachment controls to Project → Connections.

Decisions and risks:

  • Keeps shared service attachments separate from Slack/Linear inbound channel setup.
  • Attach is direct; detach and same-label replacement require confirmation.
  • Detach preserves the account OAuth connection.
  • Explains that attachments span environments/previews while useService() remains required.
  • Corrects the Linear channel card to use the project’s real environment mode instead of hard-coded Development/Production rows.

Review map:

  • ProjectServiceConnections.tsx: panel and mutations
  • api.ts: validated list/attach/detach client
  • linear-setup.ts: single-environment row derivation
  • component/API tests and preview mock parity

Verification:

  • 336 dashboard tests pass
  • Typecheck passes
  • Production dashboard build passes
  • Changed files pass ESLint; repository-wide lint has pre-existing failures outside this diff
  • Local preview attach state and detach confirmation verified visually

Design: diggerhq/serverless-agents-ws#39


Devin Review

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Devin Review


{activeTab === 'connections' && project ? (
<div className="space-y-5">
<ManagedProjectServiceConnections projectId={project.project.id} />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Empty projects cannot manage service connections

When a project has no agents, ProjectDetail returns an empty state instead of rendering the new connections panel. Owners cannot attach a shared account until the project has an agent.

Learn more

The project route decides whether to render the detail page. With no agents, ProjectDetail renders only Settings or an empty state. This project-wide panel never mounts for an empty project.

Example: Create an empty project and open /projects/prj_1/connections. The page shows an initialization message instead of the shared service connections panel, although an OAuth account is already available.

Recommended fix: Permit the project Connections tab to render without an agent in ProjectDetail, and gate only the agent-specific panels in ManagedAgentDetail.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@motatoes
motatoes merged commit 24a1b88 into main Oct 7, 2026
3 checks passed
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