Skip to content

feat(desktop): add integrations settings, merge members into organization#904

Merged
Kitenite merged 3 commits intomainfrom
github-app-in-desktop
Jan 22, 2026
Merged

feat(desktop): add integrations settings, merge members into organization#904
Kitenite merged 3 commits intomainfrom
github-app-in-desktop

Conversation

@Kitenite
Copy link
Copy Markdown
Collaborator

@Kitenite Kitenite commented Jan 22, 2026

Summary

  • Add new Integrations settings section synced with web integrations (Linear, GitHub)
  • Merge Members settings into Organization settings page for a cleaner UI
  • Collapse projects in sidebar by default

Test plan

  • Navigate to Settings > Integrations and verify Linear/GitHub integrations display
  • Navigate to Settings > Organization and verify members table and pending invitations appear
  • Verify projects in sidebar are collapsed by default
  • Verify "Invite and manage members" dropdown link navigates to organization settings

Summary by CodeRabbit

  • New Features

    • Added an Integrations settings section with Linear and GitHub connectors, showing connection status and Manage/Connect actions.
  • Changes

    • Members controls moved into Organization settings; Settings sidebar and navigation updated to surface Integrations.
    • Organization settings redesigned with improved team member management (table, roles, invitations).
    • Projects settings no longer auto-expand groups on load.

✏️ Tip: You can customize this high-level summary in your review settings.

…jects by default

- Merge members settings section into organization settings page
- Remove standalone /settings/members route
- Update navigation links to point to /settings/organization
- Collapse projects in sidebar by default
- Rename MEMBERS_* setting IDs to ORGANIZATION_MEMBERS_*
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 22, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR replaces the Members settings surface with an Integrations section, adds an IntegrationsSettings UI (with TRPC data fetching and connection actions), re-scope member-related setting IDs to organization-scoped IDs, updates routing/type unions, and enhances OrganizationSettings with a members table and related UI.

Changes

Cohort / File(s) Summary
Settings Type & Store
apps/desktop/src/main/lib/menu-events.ts, apps/desktop/src/renderer/stores/settings-state.ts
SettingsSection union updated: removed "members", added "integrations".
Sidebar, Layout & Routing
apps/desktop/src/renderer/routes/_authenticated/settings/components/SettingsSidebar/GeneralSettings.tsx, apps/desktop/src/renderer/routes/_authenticated/settings/layout.tsx, apps/desktop/src/renderer/routes/_authenticated/settings/integrations/page.tsx
Sidebar entry and routing switched from Members → Integrations (IDs, icons, route paths, Section mappings, and SettingsRoute type updated).
New Integrations UI
apps/desktop/src/renderer/routes/_authenticated/settings/integrations/components/IntegrationsSettings/IntegrationsSettings.tsx, .../IntegrationsSettings/index.ts
New IntegrationsSettings component and re-export. Fetches integration and GitHub installation state via TRPC; renders Integration cards (Linear, GitHub) with status, loading states, and Connect/Manage actions opening web URLs.
Settings Search / Items
apps/desktop/src/renderer/routes/_authenticated/settings/utils/settings-search/settings-search.ts
Replaced legacy MEMBERS_* IDs with ORGANIZATION_MEMBERS_*, added INTEGRATIONS_LINEAR and INTEGRATIONS_GITHUB items, and updated SETTINGS_ITEMS catalog and keywords.
Members & Invitations Visibility
apps/desktop/src/renderer/routes/_authenticated/settings/members/components/MembersSettings/MembersSettings.tsx, .../PendingInvitations/PendingInvitations.tsx
Visibility checks now use organization-scoped setting IDs (ORGANIZATION_MEMBERS_*).
Organization Settings
apps/desktop/src/renderer/routes/_authenticated/settings/organization/components/OrganizationSettings/OrganizationSettings.tsx
Major expansion: live member querying, role sorting, members table, pending invitations, role/ownership guards, and component-driven layout for organization branding and member management.
Minor Cleanup
apps/desktop/src/renderer/routes/_authenticated/layout.tsx, .../SettingsSidebar/ProjectsSettings.tsx, apps/desktop/src/renderer/routes/_authenticated/layout.tsx
Import reordering and removal of useEffect auto-expand in ProjectsSettings; other small import/cleanup changes.
TopBar Navigation
apps/desktop/src/renderer/screens/main/components/TopBar/OrganizationDropdown.tsx
"Invite and manage members" now navigates to /settings/organization (route updated).

Sequence Diagram(s)

sequenceDiagram
  participant U as User (UI)
  participant C as IntegrationsSettings (Client)
  participant T as TRPC (Client API)
  participant B as Backend/API
  participant W as Browser (window.open)

  U->>C: opens Integrations settings page
  C->>T: request integrations + github installation (orgId)
  T->>B: fetch integrations & installation status
  B-->>T: integrations list + install status
  T-->>C: return data
  C-->U: render integration cards (Connected/Not Connected)
  U->>C: clicks Connect/Manage
  C->>W: open external URL (NEXT_PUBLIC_WEB_URL + route)
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐰
Settings rearranged, a nibble and a hop,
Integrations bloom where Members used to stop.
Linear and GitHub now knock on the door,
Org members table—sorted, tidy, and more.
Hop on, click Connect, let integrations soar!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive The description provides a summary and test plan, but lacks structured sections for Related Issues, Type of Change, and Testing details that are in the template. Complete the PR description by filling in all template sections, particularly the Type of Change checkbox (this is clearly a New feature) and formalizing the Testing section with detailed test results.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main changes: adding integrations settings and merging members into organization settings.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 22, 2026

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) View Branch
Fly.io Electric (Fly.io) View App
Vercel API (Vercel) Open Preview
Vercel Web (Vercel) Open Preview
Vercel Marketing (Vercel) Open Preview
Vercel Admin (Vercel) Open Preview
Vercel Docs (Vercel) Open Preview

Preview updates automatically with new commits

@Kitenite Kitenite merged commit cd31c7f into main Jan 22, 2026
11 checks passed
@Kitenite Kitenite deleted the github-app-in-desktop branch January 22, 2026 20:26
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