summaryrefslogtreecommitdiff
path: root/src/fs.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 16:33:12 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commit494dae826c3c567b0eea6e91936628a2952fb5c6 (patch)
tree2c87a454c40cc78033c5b5da4bce74454727b9d8 /src/fs.zig
parentff3738b2fe8312b0a108cf7301ec99e1c4d0a24b (diff)
downloadpardes-494dae826c3c567b0eea6e91936628a2952fb5c6.tar.gz
pardes-494dae826c3c567b0eea6e91936628a2952fb5c6.zip
A repeated log record is counted only when its whole text repeats, not just what was cut to fit
(xN) compared records after msg and err cut long texts to fit, so two different long failures that agreed in their first 200-odd bytes were counted as one. The whole text of the newest counted record is now hashed, and a repeat needs it too. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/fs.zig')
-rw-r--r--src/fs.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/fs.zig b/src/fs.zig
index edd8fcb8..edead0ff 100644
--- a/src/fs.zig
+++ b/src/fs.zig
@@ -1334,6 +1334,9 @@ pub const Namespace = struct {
/// write, a shell, a language server): a failure said meanwhile is that
/// write's err, so it posts no msg (Messages.reportFailure).
write_waits: bool = false,
+ /// The whole text of the newest counted log record, hashed: its record
+ /// may be cut, and a repeat is only the same whole text again.
+ log_full_hash: u64 = 0,
/// Writes one open made in a row into one place of a pane's body (an
/// append to `body`, an insert at `data`'s address), held and put in
/// as one edit when anything else comes (ninep/pane.zig flushBatch): a