Track hidden changes behind redaction

This commit is contained in:
2026-10-09 12:24:01 +00:00
parent e5dddef204
commit 756149beaa
4 changed files with 145 additions and 1 deletions

View File

@@ -12,6 +12,7 @@ type pairedDiffSnapshot struct {
leftRedacted bool
rightRedacted bool
requiresFallback bool
hiddenChanged bool
}
func preparePairedDiffSnapshot(left, right *document.Node, path Path, sensitivity *diffSensitivity) (pairedDiffSnapshot, bool) {
@@ -24,6 +25,7 @@ func preparePairedDiffSnapshot(left, right *document.Node, path Path, sensitivit
right: redactedDiffNode(right),
leftRedacted: left != nil,
rightRedacted: right != nil,
hiddenChanged: true,
}, true
}
@@ -37,6 +39,7 @@ func preparePairedDiffNodes(left, right *document.Node, path Path, sensitivity *
right: redactedDiffNode(right),
leftRedacted: left != nil,
rightRedacted: right != nil,
hiddenChanged: !configurationValuesEqual(left, right),
}, true
}
if left != nil && right != nil && left.Kind != right.Kind {
@@ -121,6 +124,7 @@ func preparePairedDiffMapping(left, right *document.Node, path Path, sensitivity
}
redacted.leftRedacted = redacted.leftRedacted || child.leftRedacted
redacted.rightRedacted = redacted.rightRedacted || child.rightRedacted
redacted.hiddenChanged = redacted.hiddenChanged || child.hiddenChanged
}
redacted.left = leftCopy
redacted.right = rightCopy
@@ -170,6 +174,7 @@ func preparePairedDiffSequence(left, right *document.Node, path Path, sensitivit
}
result.leftRedacted = result.leftRedacted || child.leftRedacted
result.rightRedacted = result.rightRedacted || child.rightRedacted
result.hiddenChanged = result.hiddenChanged || child.hiddenChanged
}
return result, true
}