feat(integrations): add review fetching and Linux keyring support
Add a cross-provider Review Center and improve credential handling. Backend integrations fetch and normalize PRs from GitHub, GitLab, Gitea, and Azure DevOps with improved timeouts and parsing. Credentials now use a global lock and support secret-tool on Linux to avoid races. - Normalize review data across providers (GitHub/GitLab/Gitea/Azure) - Serialize credential access with OnceLock and use secret-tool on Linux - Add frontend ReviewCenter component and related UI updates
This commit is contained in:
@@ -65,6 +65,39 @@ export interface GitIntegrationRepository {
|
||||
private: boolean;
|
||||
}
|
||||
|
||||
export type IntegrationReviewState = "open" | "draft" | "merged" | "closed";
|
||||
export type IntegrationReviewAction = "merge" | "approve" | "close" | "reopen";
|
||||
|
||||
export interface IntegrationReviewComment {
|
||||
id: string;
|
||||
author: string;
|
||||
body: string;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
export interface IntegrationReviewRequest {
|
||||
id: string;
|
||||
number: number;
|
||||
provider: GitIntegrationProvider;
|
||||
repositoryId: string;
|
||||
repositoryName: string;
|
||||
title: string;
|
||||
description: string;
|
||||
author: string;
|
||||
state: IntegrationReviewState;
|
||||
sourceBranch: string;
|
||||
targetBranch: string;
|
||||
webUrl: string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
collaborators: string[];
|
||||
additions: number | null;
|
||||
deletions: number | null;
|
||||
changedFiles: number | null;
|
||||
mergeStatus: "" | "mergeable" | "conflicts" | "checking" | "blocked";
|
||||
comments: IntegrationReviewComment[];
|
||||
}
|
||||
|
||||
export interface CustomThemeColors {
|
||||
background: string;
|
||||
surface: string;
|
||||
|
||||
Reference in New Issue
Block a user