dsh-config-manager 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.d.ts +5 -0
- package/lib/client.js +243 -119
- package/lib/client.js.map +1 -1
- package/lib/core/messages.d.ts +2 -0
- package/lib/core/messages.js +4 -0
- package/lib/core/messages.js.map +1 -1
- package/lib/index.js +12 -13
- package/lib/index.js.map +1 -1
- package/lib/sync/sync-engine.d.ts +15 -0
- package/lib/sync/sync-engine.js +45 -0
- package/lib/sync/sync-engine.js.map +1 -1
- package/package.json +1 -1
- package/src/client/config-manager.module.css +60 -0
- package/src/client/import/ConflictList.tsx +33 -1
- package/src/client/locales.ts +4 -0
- package/src/client/sync/SyncConfirmView.tsx +62 -33
- package/src/client/sync/SyncSettingsView.tsx +16 -4
- package/src/client/sync/sync-locales.ts +7 -1
- package/src/client/sync/sync-view-v2.test.ts +54 -1
- package/src/client/sync/sync-view.ts +44 -0
- package/src/core/messages.ts +4 -0
- package/src/index.ts +11 -12
- package/src/sync/git/git-transport.test.ts +39 -0
- package/src/sync/sync-engine.test.ts +121 -1
- package/src/sync/sync-engine.ts +43 -0
- package/src/ui/conflict-view.test.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/sync/sync-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/sync/sync-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-config-manager",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"description": "DSH Config Manager — backup / export / import / migrate DSH configuration (dual-face Cordis plugin: host engine + web UI). Manifest shape mirrors @linxin666/dsh-ssh@0.1.12.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|
|
@@ -273,6 +273,49 @@
|
|
|
273
273
|
opacity: 0.55;
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
/* select 专用样式(与 .input 区分):去原生外观、主题化 chevron 箭头、
|
|
277
|
+
与输入框同高同圆角;仅用于真正需要下拉的空间(如「选择历史快照」)。 */
|
|
278
|
+
.select {
|
|
279
|
+
appearance: none;
|
|
280
|
+
-webkit-appearance: none;
|
|
281
|
+
padding: 7px 30px 7px 10px;
|
|
282
|
+
font-size: 13px;
|
|
283
|
+
font-family: inherit;
|
|
284
|
+
color: var(--dsw-alias-label-primary);
|
|
285
|
+
background-color: var(--dsw-specific-input-major);
|
|
286
|
+
background-image:
|
|
287
|
+
linear-gradient(45deg, transparent 50%, var(--dsw-alias-label-secondary) 50%),
|
|
288
|
+
linear-gradient(135deg, var(--dsw-alias-label-secondary) 50%, transparent 50%);
|
|
289
|
+
background-position:
|
|
290
|
+
calc(100% - 17px) calc(50% - 1px),
|
|
291
|
+
calc(100% - 12px) calc(50% - 1px);
|
|
292
|
+
background-size: 5px 5px, 5px 5px;
|
|
293
|
+
background-repeat: no-repeat;
|
|
294
|
+
border: 1px solid var(--dsw-alias-border-l2);
|
|
295
|
+
border-radius: 8px;
|
|
296
|
+
outline: none;
|
|
297
|
+
cursor: pointer;
|
|
298
|
+
max-width: 100%;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.select:hover:not(:disabled) {
|
|
302
|
+
border-color: var(--dsw-alias-border-l1);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.select:focus {
|
|
306
|
+
border-color: var(--dsw-alias-state-business-primary);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.select:disabled {
|
|
310
|
+
opacity: 0.55;
|
|
311
|
+
cursor: default;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.select option {
|
|
315
|
+
color: var(--dsw-alias-label-primary);
|
|
316
|
+
background: var(--dsw-alias-bg-layer-2);
|
|
317
|
+
}
|
|
318
|
+
|
|
276
319
|
.hint {
|
|
277
320
|
font-size: 11.5px;
|
|
278
321
|
color: var(--dsw-alias-label-tertiary);
|
|
@@ -862,6 +905,23 @@
|
|
|
862
905
|
margin-top: 4px;
|
|
863
906
|
}
|
|
864
907
|
|
|
908
|
+
/* 一键同步差异确认列表容器:限高 + 内部滚动(数百条差异项不再把整页撑长,
|
|
909
|
+
标题/摘要/批量按钮/确认按钮固定在容器外);不触碰共用 .reportList 的其它区块 */
|
|
910
|
+
.confirmScroll {
|
|
911
|
+
max-height: 280px;
|
|
912
|
+
overflow-y: auto;
|
|
913
|
+
overscroll-behavior: contain;
|
|
914
|
+
padding: 2px 10px 6px;
|
|
915
|
+
background: var(--dsw-alias-bg-base);
|
|
916
|
+
border: 1px solid var(--dsw-alias-border-l2);
|
|
917
|
+
border-radius: 8px;
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
.confirmScroll .reportList {
|
|
921
|
+
margin-top: 4px;
|
|
922
|
+
margin-bottom: 0;
|
|
923
|
+
}
|
|
924
|
+
|
|
865
925
|
.rowActions {
|
|
866
926
|
display: flex;
|
|
867
927
|
gap: 8px;
|
|
@@ -12,7 +12,7 @@ import { useState } from 'react'
|
|
|
12
12
|
import { ConflictCollector } from '../../ui/conflict-view.ts'
|
|
13
13
|
import type { ItemResolution } from '../../core/types.ts'
|
|
14
14
|
import type { TranslateNS } from '../client-types.ts'
|
|
15
|
-
import { Banner } from '../common/ui.tsx'
|
|
15
|
+
import { Banner, Button } from '../common/ui.tsx'
|
|
16
16
|
import css from '../config-manager.module.css'
|
|
17
17
|
|
|
18
18
|
export interface ConflictListProps {
|
|
@@ -27,15 +27,47 @@ const RESOLUTION_OPTIONS: { value: ItemResolution; key: string }[] = [
|
|
|
27
27
|
{ value: 'useImported', key: 'import.conflicts.useImported' },
|
|
28
28
|
]
|
|
29
29
|
|
|
30
|
+
/** 批量决策全部冲突项(keepCurrent / useImported),与逐项逻辑一致地更新 tick + onChanged */
|
|
31
|
+
function resolveAll(
|
|
32
|
+
collector: ConflictCollector,
|
|
33
|
+
resolution: ItemResolution,
|
|
34
|
+
setTick: (fn: (v: number) => number) => void,
|
|
35
|
+
onChanged: () => void,
|
|
36
|
+
): void {
|
|
37
|
+
for (const item of collector.conflicts) collector.resolve(item.id, resolution)
|
|
38
|
+
setTick((v) => v + 1)
|
|
39
|
+
onChanged()
|
|
40
|
+
}
|
|
41
|
+
|
|
30
42
|
/** 冲突项决策列表 */
|
|
31
43
|
export function ConflictList({ collector, t, onChanged }: ConflictListProps) {
|
|
32
44
|
const [tick, setTick] = useState(0)
|
|
33
45
|
const items = collector.viewItems()
|
|
34
46
|
const unresolved = collector.unresolved().length
|
|
47
|
+
const hasConflicts = items.length > 0
|
|
35
48
|
|
|
36
49
|
return (
|
|
37
50
|
<div className={css.conflictList}>
|
|
38
51
|
{unresolved > 0 && <Banner kind="warn">{t('import.conflicts.unresolved', { count: String(unresolved) })}</Banner>}
|
|
52
|
+
|
|
53
|
+
{/* 批量决策按钮(无冲突项时禁用;逐项单选仍可微调) */}
|
|
54
|
+
<div className={css.actionRow}>
|
|
55
|
+
<Button
|
|
56
|
+
variant="ghost"
|
|
57
|
+
disabled={!hasConflicts}
|
|
58
|
+
onClick={() => { resolveAll(collector, 'keepCurrent', setTick, onChanged) }}
|
|
59
|
+
>
|
|
60
|
+
{t('import.conflicts.keepCurrentAll')}
|
|
61
|
+
</Button>
|
|
62
|
+
<Button
|
|
63
|
+
variant="primary"
|
|
64
|
+
disabled={!hasConflicts}
|
|
65
|
+
onClick={() => { resolveAll(collector, 'useImported', setTick, onChanged) }}
|
|
66
|
+
>
|
|
67
|
+
{t('import.conflicts.useImportedAll')}
|
|
68
|
+
</Button>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
39
71
|
{items.map((view) => {
|
|
40
72
|
const item = view.item
|
|
41
73
|
return (
|
package/src/client/locales.ts
CHANGED
|
@@ -81,6 +81,8 @@ export const zh = {
|
|
|
81
81
|
'import.conflicts.useImported': '使用备份',
|
|
82
82
|
'import.conflicts.review': '稍后决定',
|
|
83
83
|
'import.conflicts.unresolved': '还有 {count} 项未决策',
|
|
84
|
+
'import.conflicts.keepCurrentAll': '全部保留当前配置',
|
|
85
|
+
'import.conflicts.useImportedAll': '全部使用备份配置',
|
|
84
86
|
'import.paths.title': '路径映射',
|
|
85
87
|
'import.paths.hint': '备份中的绝对路径在目标机器可能不存在,请为每条路径指定新位置(留空将跳过该路径)。',
|
|
86
88
|
'import.paths.old': '原路径',
|
|
@@ -196,6 +198,8 @@ export const en: Record<keyof typeof zh, string> = {
|
|
|
196
198
|
'import.conflicts.useImported': 'Use backup',
|
|
197
199
|
'import.conflicts.review': 'Decide later',
|
|
198
200
|
'import.conflicts.unresolved': '{count} item(s) unresolved',
|
|
201
|
+
'import.conflicts.keepCurrentAll': 'Keep all current',
|
|
202
|
+
'import.conflicts.useImportedAll': 'Use all backup',
|
|
199
203
|
'import.paths.title': 'Path Mapping',
|
|
200
204
|
'import.paths.hint': 'Absolute paths in the backup may not exist on this machine. Map each path to a new location (leave blank to skip).',
|
|
201
205
|
'import.paths.old': 'Original path',
|
|
@@ -13,7 +13,7 @@ import type { ReactNode } from 'react'
|
|
|
13
13
|
|
|
14
14
|
import { Badge, Banner, Button, Card, Spinner } from '../common/ui.tsx'
|
|
15
15
|
import type { SyncApi, SyncConfirmItem } from './sync-api.ts'
|
|
16
|
-
import { kindLabel, severityLabel, summarizeConfirmItems } from './sync-view.ts'
|
|
16
|
+
import { keepLocalAll, kindLabel, reviewItems, severityLabel, summarizeConfirmItems, useRemoteAll } from './sync-view.ts'
|
|
17
17
|
import type { ApplyItemsResponse } from './sync-api.ts'
|
|
18
18
|
import type { TranslateNS } from '../client-types.ts'
|
|
19
19
|
import css from '../config-manager.module.css'
|
|
@@ -61,6 +61,9 @@ export function SyncConfirmView(props: SyncConfirmViewProps): ReactNode {
|
|
|
61
61
|
items.map((it) => ({ ...it, adopt: states[it.itemId]?.adopted ?? it.defaultAdopt })),
|
|
62
62
|
), [items, states]);
|
|
63
63
|
|
|
64
|
+
// 仅需人工决策的项进入确认列表;非决策项(Create/Update 等)默认自动采用,不逐项展示
|
|
65
|
+
const displayItems = useMemo(() => reviewItems(items), [items]);
|
|
66
|
+
|
|
64
67
|
const setAdopted = (itemId: string, adopted: boolean): void => {
|
|
65
68
|
setStates((prev) => ({ ...prev, [itemId]: { ...prev[itemId], adopted } }));
|
|
66
69
|
};
|
|
@@ -72,6 +75,19 @@ export function SyncConfirmView(props: SyncConfirmViewProps): ReactNode {
|
|
|
72
75
|
});
|
|
73
76
|
};
|
|
74
77
|
|
|
78
|
+
// 批量决策(仅作用于 Conflict 项;非 Conflict 项的 adopt 保持默认)
|
|
79
|
+
const applyBulkDecision = (decisions: readonly { itemId: string; resolution: ConflictResolution; adopt: boolean }[]): void => {
|
|
80
|
+
if (decisions.length === 0) return;
|
|
81
|
+
setStates((prev) => {
|
|
82
|
+
const next: Record<string, ItemState> = { ...prev };
|
|
83
|
+
for (const d of decisions) {
|
|
84
|
+
const existing: ItemState = prev[d.itemId] ?? { adopted: false, resolution: undefined };
|
|
85
|
+
next[d.itemId] = { ...existing, resolution: d.resolution, adopted: d.adopt };
|
|
86
|
+
}
|
|
87
|
+
return next;
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
|
|
75
91
|
const runApply = async (): Promise<void> => {
|
|
76
92
|
// 校验冲突项必须已解决
|
|
77
93
|
const unresolved = items.find(
|
|
@@ -161,38 +177,51 @@ export function SyncConfirmView(props: SyncConfirmViewProps): ReactNode {
|
|
|
161
177
|
</div>
|
|
162
178
|
<span className={css.hint}>{t('syncflow.adoptHint')}</span>
|
|
163
179
|
|
|
164
|
-
{/*
|
|
165
|
-
<div className={css.
|
|
166
|
-
{
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
180
|
+
{/* 批量决策(仅作用于 Conflict 项) */}
|
|
181
|
+
<div className={css.actionRow}>
|
|
182
|
+
<Button variant="ghost" disabled={busy || displayItems.filter((it) => it.kind === 'Conflict').length === 0} onClick={() => { applyBulkDecision(keepLocalAll(items)) }}>
|
|
183
|
+
{t('syncflow.keepLocalAll')}
|
|
184
|
+
</Button>
|
|
185
|
+
<Button variant="primary" disabled={busy || displayItems.filter((it) => it.kind === 'Conflict').length === 0} onClick={() => { applyBulkDecision(useRemoteAll(items)) }}>
|
|
186
|
+
{t('syncflow.useRemoteAll')}
|
|
187
|
+
</Button>
|
|
188
|
+
<span className={css.hint}>{t('syncflow.bulkHint')}</span>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
{/* 逐项差异列表(仅需人工决策的项);固定容器限高 + 内部滚动,防止整页被拉长 */}
|
|
192
|
+
<div className={css.confirmScroll}>
|
|
193
|
+
<div className={css.reportList}>
|
|
194
|
+
{displayItems.map((it) => {
|
|
195
|
+
const st = states[it.itemId] ?? { adopted: it.defaultAdopt };
|
|
196
|
+
const isConflict = it.kind === 'Conflict';
|
|
197
|
+
return (
|
|
198
|
+
<div key={it.itemId} className={css.statRow}>
|
|
199
|
+
<label className={css.checkboxRow}>
|
|
200
|
+
<input
|
|
201
|
+
type="checkbox"
|
|
202
|
+
checked={st.adopted}
|
|
203
|
+
disabled={busy}
|
|
204
|
+
onChange={(e) => { setAdopted(it.itemId, e.target.checked) }}
|
|
205
|
+
/>
|
|
206
|
+
<span>{kindLabel(it.kind, api.t)}</span>
|
|
207
|
+
</label>
|
|
208
|
+
<Badge kind={it.severity === 'error' ? 'error' : it.severity === 'warning' ? 'warn' : 'info'}>
|
|
209
|
+
{severityLabel(it.severity, api.t)}
|
|
210
|
+
</Badge>
|
|
211
|
+
<span>{it.description}</span>
|
|
212
|
+
{isConflict && (
|
|
213
|
+
<ConflictResolver
|
|
214
|
+
item={it}
|
|
215
|
+
resolution={st.resolution}
|
|
216
|
+
busy={busy}
|
|
217
|
+
t={t}
|
|
218
|
+
onResolve={(r) => { setResolution(it.itemId, r) }}
|
|
219
|
+
/>
|
|
220
|
+
)}
|
|
221
|
+
</div>
|
|
222
|
+
);
|
|
223
|
+
})}
|
|
224
|
+
</div>
|
|
196
225
|
</div>
|
|
197
226
|
|
|
198
227
|
{error !== null && <Banner kind="error">{error}</Banner>}
|
|
@@ -140,6 +140,11 @@ export function SyncSettingsView({ api, t }: SyncSettingsViewProps) {
|
|
|
140
140
|
if (info.autosync === undefined) {
|
|
141
141
|
void loadAutosync()
|
|
142
142
|
}
|
|
143
|
+
// 仓库已配置且地址就绪时,自动拉取远端快照填充下拉(无需先点一键同步);
|
|
144
|
+
// 直接传 info.repoUrl(state.repoUrl 的 patch 尚未生效),避免竞态
|
|
145
|
+
if (info.configured && (info.repoUrl ?? '').trim() !== '') {
|
|
146
|
+
void loadSnapshots(info.repoUrl)
|
|
147
|
+
}
|
|
143
148
|
} catch (err) {
|
|
144
149
|
patch({ loading: false, loadError: err instanceof Error ? err.message : String(err) })
|
|
145
150
|
}
|
|
@@ -155,10 +160,17 @@ export function SyncSettingsView({ api, t }: SyncSettingsViewProps) {
|
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
162
|
|
|
158
|
-
/**
|
|
159
|
-
|
|
163
|
+
/**
|
|
164
|
+
* 读取远端历史快照列表(「选择历史快照」下拉数据源)。
|
|
165
|
+
* repoUrlOverride:挂载时仓库地址刚从 status 回填、state.repoUrl 尚未生效,
|
|
166
|
+
* 直接传 info.repoUrl 避免竞态读旧值;缺省读 state.repoUrl(同步成功后的刷新路径)。
|
|
167
|
+
* 无仓库地址时静默跳过(不发无效请求,下拉留空)。
|
|
168
|
+
*/
|
|
169
|
+
const loadSnapshots = async (repoUrlOverride?: string): Promise<void> => {
|
|
170
|
+
const repoUrl = repoUrlOverride ?? state.repoUrl
|
|
171
|
+
if (repoUrl.trim() === '') return
|
|
160
172
|
try {
|
|
161
|
-
const res = await api.snapshotsList(payload())
|
|
173
|
+
const res = await api.snapshotsList({ ...payload(), repoUrl })
|
|
162
174
|
patch({ snapshots: res.snapshots })
|
|
163
175
|
} catch {
|
|
164
176
|
// 拉取失败不阻断主流程(下拉留空,用户可重试)
|
|
@@ -460,7 +472,7 @@ export function SyncSettingsView({ api, t }: SyncSettingsViewProps) {
|
|
|
460
472
|
<label className={css.field}>
|
|
461
473
|
<span className={css.fieldLabel}>{t('syncflow.selectSnapshot')}</span>
|
|
462
474
|
<select
|
|
463
|
-
className={css.
|
|
475
|
+
className={css.select}
|
|
464
476
|
value={state.selectedSnapshotId}
|
|
465
477
|
disabled={state.busy !== null}
|
|
466
478
|
onChange={(e: ChangeEvent<HTMLSelectElement>) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
2
|
* 远程同步设置区块(config-manager-sync)表面文案:zh 为源语言,en 镜像每个键。
|
|
3
3
|
* 独立命名空间、独立文件:不触碰共享的 locales.ts(并行会话已改),零冲突。
|
|
4
4
|
* 键集合经 `SyncKey` 类型在 client/index.ts 注册处做编译期校验。
|
|
@@ -62,6 +62,9 @@ export const zh = {
|
|
|
62
62
|
'syncflow.needsReviewBadge': '需人工决策',
|
|
63
63
|
'syncflow.empty': '远端快照与本地一致(无变更)',
|
|
64
64
|
'syncflow.diffCount': '共 {count} 项差异',
|
|
65
|
+
'syncflow.keepLocalAll': '全部保留本地',
|
|
66
|
+
'syncflow.useRemoteAll': '全部采用远端',
|
|
67
|
+
'syncflow.bulkHint': '批量决策仅作用于冲突项;其余差异默认自动采用。',
|
|
65
68
|
'syncflow.conflictTitle': '冲突解决',
|
|
66
69
|
'syncflow.conflictUseLocal': '用本地',
|
|
67
70
|
'syncflow.conflictUseRemote': '用远端',
|
|
@@ -183,6 +186,9 @@ export const en: Record<keyof typeof zh, string> = {
|
|
|
183
186
|
'syncflow.needsReviewBadge': 'Needs decision',
|
|
184
187
|
'syncflow.empty': 'Remote snapshot matches local (no changes)',
|
|
185
188
|
'syncflow.diffCount': '{count} change(s)',
|
|
189
|
+
'syncflow.keepLocalAll': 'Keep all local',
|
|
190
|
+
'syncflow.useRemoteAll': 'Adopt all remote',
|
|
191
|
+
'syncflow.bulkHint': 'Bulk decisions only apply to conflict items; other changes are adopted by default.',
|
|
186
192
|
'syncflow.conflictTitle': 'Resolve conflict',
|
|
187
193
|
'syncflow.conflictUseLocal': 'Use local',
|
|
188
194
|
'syncflow.conflictUseRemote': 'Use remote',
|
|
@@ -8,7 +8,7 @@ import assert from 'node:assert/strict'
|
|
|
8
8
|
import type { ApplyItemsResponse, AutosyncStatusResponse, SyncConfirmItem } from './sync-api.ts'
|
|
9
9
|
import {
|
|
10
10
|
applyItemsReportView, autosyncIntervalMs, autosyncStatusText, buildAdoptions,
|
|
11
|
-
computeAutosyncCountdown, summarizeConfirmItems,
|
|
11
|
+
computeAutosyncCountdown, isReviewItem, keepLocalAll, reviewItems, summarizeConfirmItems, useRemoteAll,
|
|
12
12
|
} from './sync-view.ts'
|
|
13
13
|
|
|
14
14
|
/* ---------------------------------------------------------------- 一键同步差异确认 */
|
|
@@ -43,6 +43,59 @@ test('sync-view: summarizeConfirmItems 空数组 → 全零 + 不需决策', ()
|
|
|
43
43
|
assert.equal(s.needsReview, false)
|
|
44
44
|
})
|
|
45
45
|
|
|
46
|
+
/* ---------------------------------------------------------------- 精简显示 + 批量决策 */
|
|
47
|
+
|
|
48
|
+
test('sync-view: isReviewItem 仅需人工决策的类型返回 true', () => {
|
|
49
|
+
assert.equal(isReviewItem('Conflict'), true)
|
|
50
|
+
assert.equal(isReviewItem('MissingSecret'), true)
|
|
51
|
+
assert.equal(isReviewItem('MissingDependency'), true)
|
|
52
|
+
assert.equal(isReviewItem('Install'), true)
|
|
53
|
+
assert.equal(isReviewItem('Error'), true)
|
|
54
|
+
assert.equal(isReviewItem('PathMapping'), true)
|
|
55
|
+
assert.equal(isReviewItem('Create'), false)
|
|
56
|
+
assert.equal(isReviewItem('Update'), false)
|
|
57
|
+
assert.equal(isReviewItem('Skip'), false)
|
|
58
|
+
assert.equal(isReviewItem('Warning'), false)
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
test('sync-view: reviewItems 只保留需人工决策项(统计仍基于全量)', () => {
|
|
62
|
+
const items: SyncConfirmItem[] = [
|
|
63
|
+
confirmItem({ itemId: 'a', kind: 'Update' }),
|
|
64
|
+
confirmItem({ itemId: 'b', kind: 'Create' }),
|
|
65
|
+
confirmItem({ itemId: 'c', kind: 'Conflict', defaultAdopt: false }),
|
|
66
|
+
confirmItem({ itemId: 'd', kind: 'MissingSecret', defaultAdopt: false }),
|
|
67
|
+
]
|
|
68
|
+
const shown = reviewItems(items)
|
|
69
|
+
assert.deepEqual(shown.map((i) => i.itemId), ['c', 'd'])
|
|
70
|
+
// summarizeConfirmItems 仍统计全量
|
|
71
|
+
assert.equal(summarizeConfirmItems(items).total, 4)
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
test('sync-view: keepLocalAll 所有 Conflict → keepLocal + adopt=false', () => {
|
|
75
|
+
const items: SyncConfirmItem[] = [
|
|
76
|
+
confirmItem({ itemId: 'a', kind: 'Conflict', defaultAdopt: false }),
|
|
77
|
+
confirmItem({ itemId: 'b', kind: 'Update' }),
|
|
78
|
+
confirmItem({ itemId: 'c', kind: 'Conflict', defaultAdopt: false }),
|
|
79
|
+
]
|
|
80
|
+
const decisions = keepLocalAll(items)
|
|
81
|
+
assert.deepEqual(decisions, [
|
|
82
|
+
{ itemId: 'a', resolution: 'keepLocal', adopt: false },
|
|
83
|
+
{ itemId: 'c', resolution: 'keepLocal', adopt: false },
|
|
84
|
+
])
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
test('sync-view: useRemoteAll 所有 Conflict → useRemote + adopt=true', () => {
|
|
88
|
+
const items: SyncConfirmItem[] = [
|
|
89
|
+
confirmItem({ itemId: 'a', kind: 'Conflict', defaultAdopt: false }),
|
|
90
|
+
confirmItem({ itemId: 'b', kind: 'Update' }),
|
|
91
|
+
confirmItem({ itemId: 'c', kind: 'MissingSecret', defaultAdopt: false }),
|
|
92
|
+
]
|
|
93
|
+
const decisions = useRemoteAll(items)
|
|
94
|
+
assert.deepEqual(decisions, [
|
|
95
|
+
{ itemId: 'a', resolution: 'useRemote', adopt: true },
|
|
96
|
+
])
|
|
97
|
+
})
|
|
98
|
+
|
|
46
99
|
test('sync-view: buildAdoptions 收集用户决策;未列出项视为 adopt=false', () => {
|
|
47
100
|
const items: SyncConfirmItem[] = [
|
|
48
101
|
confirmItem({ itemId: 'a', kind: 'Update' }),
|
|
@@ -301,6 +301,50 @@ const CONFIRM_REVIEW_KINDS: ReadonlySet<PlanItemKind> = new Set([
|
|
|
301
301
|
'Conflict', 'MissingSecret', 'MissingDependency', 'Install', 'Error', 'PathMapping',
|
|
302
302
|
]);
|
|
303
303
|
|
|
304
|
+
/**
|
|
305
|
+
* 是否需要人工决策(是否进入差异确认列表)。
|
|
306
|
+
* 非决策项(Create / Update / Skip / Warning 等)默认自动采用(defaultAdopt=true),
|
|
307
|
+
* 不逐项展示但 apply-items 时照常导入。
|
|
308
|
+
*/
|
|
309
|
+
export function isReviewItem(kind: PlanItemKind): boolean {
|
|
310
|
+
return CONFIRM_REVIEW_KINDS.has(kind);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* 仅保留需人工决策的项(差异确认列表只渲染这些)。
|
|
315
|
+
* 统计(summarizeConfirmItems)仍基于全量 items,不受影响。
|
|
316
|
+
*/
|
|
317
|
+
export function reviewItems(items: readonly SyncConfirmItem[]): SyncConfirmItem[] {
|
|
318
|
+
return items.filter((it) => CONFIRM_REVIEW_KINDS.has(it.kind));
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/** 单条 Conflict 项的批量决策(resolution + adopt)。 */
|
|
322
|
+
export interface ConflictDecision {
|
|
323
|
+
itemId: string;
|
|
324
|
+
resolution: 'useRemote' | 'keepLocal' | 'skip';
|
|
325
|
+
adopt: boolean;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* 「全部保留本地」:所有 Conflict 项 → resolution=keepLocal、adopt=false。
|
|
330
|
+
* 仅作用于 Conflict 项,非 Conflict 项的 adopt 保持默认。
|
|
331
|
+
*/
|
|
332
|
+
export function keepLocalAll(items: readonly SyncConfirmItem[]): ConflictDecision[] {
|
|
333
|
+
return items
|
|
334
|
+
.filter((it) => it.kind === 'Conflict')
|
|
335
|
+
.map((it) => ({ itemId: it.itemId, resolution: 'keepLocal', adopt: false }));
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* 「全部采用远端」:所有 Conflict 项 → resolution=useRemote、adopt=true。
|
|
340
|
+
* 仅作用于 Conflict 项,非 Conflict 项的 adopt 保持默认。
|
|
341
|
+
*/
|
|
342
|
+
export function useRemoteAll(items: readonly SyncConfirmItem[]): ConflictDecision[] {
|
|
343
|
+
return items
|
|
344
|
+
.filter((it) => it.kind === 'Conflict')
|
|
345
|
+
.map((it) => ({ itemId: it.itemId, resolution: 'useRemote', adopt: true }));
|
|
346
|
+
}
|
|
347
|
+
|
|
304
348
|
export interface SyncConfirmSummary {
|
|
305
349
|
total: number;
|
|
306
350
|
info: number;
|
package/src/core/messages.ts
CHANGED
|
@@ -248,6 +248,8 @@ export const zh = {
|
|
|
248
248
|
'sync.git.cmdFailed': 'git {args} 失败 (exit {code}): {err}',
|
|
249
249
|
'sync.git.repoUrlInvalid': '无法解析 repoUrl(http(s) 仓库必须为合法 URL): {url}',
|
|
250
250
|
'sync.git.invalidSnapshotId': '非法快照 id: {id}(仅允许字母数字开头,字符限 . _ -)',
|
|
251
|
+
'sync.pruneListFailed': '远端快照裁剪失败:无法列出远端快照,{reason}',
|
|
252
|
+
'sync.pruneDeleteFailed': '远端快照裁剪失败:删除快照 {id} 失败,{reason}',
|
|
251
253
|
} as const;
|
|
252
254
|
|
|
253
255
|
export const en: Record<keyof typeof zh, string> = {
|
|
@@ -482,6 +484,8 @@ export const en: Record<keyof typeof zh, string> = {
|
|
|
482
484
|
'sync.git.cmdFailed': 'git {args} failed (exit {code}): {err}',
|
|
483
485
|
'sync.git.repoUrlInvalid': 'Cannot parse repoUrl (http(s) repositories must be valid URLs): {url}',
|
|
484
486
|
'sync.git.invalidSnapshotId': 'Invalid snapshot id: {id} (must start with an alphanumeric; only . _ - allowed)',
|
|
487
|
+
'sync.pruneListFailed': 'Remote snapshot pruning failed: could not list remote snapshots, {reason}',
|
|
488
|
+
'sync.pruneDeleteFailed': 'Remote snapshot pruning failed: deleting snapshot {id} failed, {reason}',
|
|
485
489
|
};
|
|
486
490
|
|
|
487
491
|
/** 插值:{param} → 形参值;缺参原样保留(便于排查)。 */
|
package/src/index.ts
CHANGED
|
@@ -100,7 +100,7 @@ export const name = 'config-manager'
|
|
|
100
100
|
export const inject = ['settings', 'credentials']
|
|
101
101
|
|
|
102
102
|
/** Plugin version, kept in sync with package.json ("version"). */
|
|
103
|
-
const PLUGIN_VERSION = '0.1.
|
|
103
|
+
const PLUGIN_VERSION = '0.1.23'
|
|
104
104
|
|
|
105
105
|
/**
|
|
106
106
|
* 内置 GitHub OAuth App 的 client_id(「使用 GitHub 登录」device flow 缺省值)。
|
|
@@ -1927,22 +1927,21 @@ function makeRoutes(deps: RoutesDeps): WebRoute[] {
|
|
|
1927
1927
|
},
|
|
1928
1928
|
// ------------------------------------------------------ sync/autosync
|
|
1929
1929
|
// m-sync-v2:自动同步配置读写(总开关 + 间隔 + 启动阈值 + 状态)。
|
|
1930
|
+
// GET = 读状态;POST = 写配置。同一路径注册为一个 exact 路由(方法内部分发),
|
|
1931
|
+
// 避免 webserver 对重复 exact 路径报错。
|
|
1930
1932
|
{
|
|
1931
1933
|
kind: 'exact',
|
|
1932
1934
|
path: API.syncAutosync,
|
|
1933
1935
|
handler: async (req, res) => {
|
|
1934
|
-
if (
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1936
|
+
if (req.method === 'GET') {
|
|
1937
|
+
if (!guard(req, res, 'GET')) return
|
|
1938
|
+
try {
|
|
1939
|
+
writeJson(res, 200, await buildAutosyncStatus(syncDir))
|
|
1940
|
+
} catch (error) {
|
|
1941
|
+
writeSyncRouteError(res, error)
|
|
1942
|
+
}
|
|
1943
|
+
return
|
|
1939
1944
|
}
|
|
1940
|
-
},
|
|
1941
|
-
},
|
|
1942
|
-
{
|
|
1943
|
-
kind: 'exact',
|
|
1944
|
-
path: API.syncAutosync,
|
|
1945
|
-
handler: async (req, res) => {
|
|
1946
1945
|
if (!guard(req, res, 'POST')) return
|
|
1947
1946
|
const body = await readJsonBody(req)
|
|
1948
1947
|
if (body === undefined) {
|