0c0e6474868d

keep checkpoints out of the saves tab, so the two history lists never overlap (3.0.75)

time
2026-09-27 09:57 UTC · 2 weeks ago
machine
Junes-MacBook-Pro.local
agent
deepseek/deepseek-flash
session
koh 3 phases 6-8
parent
546abb43431b
4 files VERSION+1 −1src/view/view.v+1 −1src/view/view_test.v+3 −2v.mod+1 −1
VERSION+1 −1
@@ -1 +1 @@1-3.0.741+3.0.75

view file

src/view/view.v+1 −1
@@ -326,7 +326,7 @@326326 	needle := query.to_lower()327327 	for save in items {328328 		live := save.id in on_line329-		if tab == .saves && !live {329+		if tab == .saves && (!live || save.is_checkpoint) {330330 			continue331331 		}332332 		if tab == .checkpoints && (!live || !save.is_checkpoint) {

view file

src/view/view_test.v+3 −2
@@ -56,8 +56,9 @@5656 5757 	assert filter_saves(items, .all, on_the_line, '').len == 45858 	// The replayed-away original exists in history but is on neither live list;59-	// the copy that replaced it is an ordinary save on the line.60-	assert filter_saves(items, .saves, on_the_line, '').map(it.id) == ['aaa', 'ccc', 'ddd']59+	// the copy that replaced it is an ordinary save on the line. The two lists60+	// never overlap: a checkpoint belongs to the checkpoints tab alone.61+	assert filter_saves(items, .saves, on_the_line, '').map(it.id) == ['aaa', 'ddd']6162 	assert filter_saves(items, .checkpoints, on_the_line, '').map(it.id) == ['ccc']6263 }6364 

view file

v.mod+1 −1
@@ -1,6 +1,6 @@11 Module {22 	name: 'koh3'3-	version: '3.0.74'3+	version: '3.0.75'44 	description: 'One SQLite file per repo, one line of history.'55 	license: 'MIT'66 }

view file