feat: add SSH commit signing to git identities

Configure commit signing per Git identity
Apply SSH signing settings automatically
Support signing in web and VS Code
This commit is contained in:
Bohdan Triapitsyn
2026-06-18 23:51:40 +03:00
parent 07e6935a3e
commit 4d63278efd
18 changed files with 198 additions and 13 deletions
+11 -2
View File
@@ -531,12 +531,14 @@ export async function handleStandardGitBridgeMessage(message: BridgeMessageInput
}
case 'api:git/identity': {
const { directory, method, userName, userEmail, sshKey } = (payload || {}) as {
const { directory, method, userName, userEmail, sshKey, signCommits, signingKey } = (payload || {}) as {
directory?: string;
method?: string;
userName?: string;
userEmail?: string;
sshKey?: string | null;
signCommits?: boolean;
signingKey?: string | null;
};
const dirError = requireDirectory(id, type, directory);
if (dirError) return dirError;
@@ -552,7 +554,14 @@ export async function handleStandardGitBridgeMessage(message: BridgeMessageInput
if (!userName || !userEmail) {
return { id, type, success: false, error: 'userName and userEmail are required' };
}
const result = await gitService.setGitIdentity(directory!, userName, userEmail, sshKey);
const result = await gitService.setGitIdentity(
directory!,
userName,
userEmail,
sshKey,
signCommits === true,
signingKey ?? null
);
return { id, type, success: true, data: result };
}