✨ feat(vscode): 「改动」tab 重做为整 PR 聚合的主从式内联 diff(git-diff-view)
- 左树右 diff:左栏全 PR 文件树 + 统计条(共改 N · +X−Y · 已查看 M/N),右栏选中单文件内联 diff - 用 @git-diff-view/react 只渲染当前选中文件,绕开上万行全量渲染的性能坑 - gitea 新增 listPullRequestFiles、getPullRequest 取 merge_base/head,按需回两版原文 - diff 走 merge_base→head 三点口径(与 Gitea 网页一致),getRawFile 404 兜底成全增/全删/改名 - 已查看态按 head sha 落盘、新 push 自然重置;去掉提交列表、原生 diff 与 spx-gitea 虚拟文档 provider
This commit is contained in:
@@ -26,7 +26,7 @@ import { webhookCoordinator } from '../webhook/coordinator'
|
||||
import { loadYouTrackIssues } from '../youtrack/issueLoader'
|
||||
import * as issues from './handlers/issues'
|
||||
import * as managedSessions from './handlers/managedSessions'
|
||||
import * as prCommits from './handlers/prCommits'
|
||||
import * as prFiles from './handlers/prFiles'
|
||||
import * as sessions from './handlers/sessions'
|
||||
import * as settings from './handlers/settings'
|
||||
import * as terminals from './handlers/terminals'
|
||||
@@ -546,30 +546,20 @@ export class KanbanWebviewPanel {
|
||||
managedSessions.handleManagedSessionsCloseTab(this, msg.sessionId)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'pr-commits/get') {
|
||||
void prCommits.handleGetPrCommits(this, msg.issueNumber)
|
||||
if (msg.type === 'pr-files/get') {
|
||||
void prFiles.handleGetPrFiles(this, msg.issueNumber)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'pr-commit-files/get') {
|
||||
void prCommits.handleGetPrCommitFiles(this, msg.issueNumber, msg.sha)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'pr-commit-diff/open') {
|
||||
void prCommits.handleOpenPrCommitDiff(this, {
|
||||
if (msg.type === 'pr-file-diff/get') {
|
||||
void prFiles.handleGetPrFileDiff(this, {
|
||||
issueNumber: msg.issueNumber,
|
||||
sha: msg.sha,
|
||||
parentSha: msg.parentSha,
|
||||
path: msg.path,
|
||||
status: msg.status,
|
||||
previousPath: msg.previousPath,
|
||||
})
|
||||
return
|
||||
}
|
||||
if (msg.type === 'pr-review/set') {
|
||||
void prCommits.handleSetPrReviewConfirmed(this, msg)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'pr-review/set-commits') {
|
||||
void prCommits.handleSetPrReviewConfirmedCommits(this, msg)
|
||||
void prFiles.handleSetPrReviewConfirmed(this, msg)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user