perf(fs): 1MiB stream chunks, full sha256 via sha256sum subprocess, walk cap

- copy streams use 1MiB highWaterMark
- forced full sha256 uses Deno.Command(sha256sum), falls back to in-process stream;
  method recorded as hashVia and counted
- per-file organize.transfer timing log
- ORGANIZE_WALK_MAX_FILES caps manual path walks; dryRun returns truncated

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-27 22:12:16 +08:00
1 parent 473c5e94a5
commit f9c20c67dc
6 files changed
+223 -27

No files matched your search

@@ -162,8 +162,13 @@ export function OrganizeDialog({
setErrors({});
organize.mutate(parsed.data, {
onSuccess: (r) => {
if (dryRun) setPlanId(r.planId);
else {
if (dryRun) {
setPlanId(r.planId);
if (r.truncated)
toast.warning("源目录文件数超过上限,预览只含前一部分文件", {
description: "正式执行会被拒绝,请把源路径缩小到具体的作品目录",
});
} else {
toast.success("已发起整理");
onOpenChange(false);
if (r.recordId) navigate(`/console/organize/${r.recordId}`);