feat(integrations): support GitHub repositories and enhance repo browser UI

Add GitHub repository support to integrations and update related tests.
Implement server-side GitHub API calls and normalize GitHub base URLs.
Improve the repository browser UI with compact tabs and updated icons.
Add a custom, accessible scrollbar with pointer and keyboard support.

- Add paging, auth headers, and error handling when listing GitHub repos.
- Default GitHub token username to "x-access-token" when saving credentials.
- Introduce compact repo tab styles, new icons, and a draggable scrollbar.
This commit is contained in:
2026-08-29 23:55:27 +02:00
parent 91263547db
commit c242a72edd
9 changed files with 414 additions and 34 deletions
+8
View File
@@ -7,6 +7,7 @@ import type {
} from "./types";
export const gitIntegrationProviders: GitIntegrationProvider[] = [
"github",
"gitlab",
"gitlab-self-hosted",
"azure-devops",
@@ -14,6 +15,12 @@ export const gitIntegrationProviders: GitIntegrationProvider[] = [
];
const defaults: Record<GitIntegrationProvider, Omit<GitIntegrationConfig, "provider">> = {
github: {
enabled: false,
baseUrl: "https://github.com",
username: "",
tokenStored: false,
},
gitlab: {
enabled: false,
baseUrl: "https://gitlab.com",
@@ -144,6 +151,7 @@ export function configuredIntegrationCount(settings: GitIntegrationSettings): nu
export function providerLabel(provider: GitIntegrationProvider): string {
return {
github: "GitHub",
gitlab: "GitLab.com",
"gitlab-self-hosted": "GitLab Self-Managed",
"azure-devops": "Azure DevOps",