From 258ffe5204d15bf3bd633bc681250208a3fe8af0 Mon Sep 17 00:00:00 2001 From: DonislawDev Date: Wed, 16 Sep 2026 18:29:15 +0200 Subject: [PATCH 1/3] gui: a renderer redraws its pieces and never the widget, and the explanation sheet says when it changes The explanation behind the (i) button did not open on the first hover of a fresh window, and did after hovering a tab word first. Measured with a copy of the window whose driver logged every refresh: canvas.Refresh(r.button) asked for the Button embedded inside DetailButton, while the tree and the driver's object-to-canvas cache hold the DetailButton - a different interface value, so no canvas was found, nothing was marked dirty and the box put on the sheet was never painted until something else repainted for its own reason. The test driver cannot see this: it answers CanvasForObject for any object and its canvas ignores Refresh. - parts: redraw(pieces...) - every renderer names the pieces it draws, seven renderers unified, no canvas.Refresh left in parts or window - parts: Tips.open and close refresh the sheet, which also fixes the keyboard path - Space on the focused button added a box nothing painted and removed one that stayed drawn - guard: canvastold_test.go reads both rules from the source, since nothing behavioural can; detailpopup_test.go hovers through the canvas on the visible screen and refuses a button drawn nowhere - screens: generate-hovered and generate-refused-setting regenerated - both had captured a stale icon raster, the painter behind the stored pictures keeping an image until the image itself is refreshed Co-Authored-By: Claude Opus 5 --- internal/guard/canvastold_test.go | 378 ++++++++++++++++++ internal/guard/detailpopup_test.go | 101 ++--- .../testdata/screens/generate-hovered.png | Bin 101369 -> 101370 bytes .../screens/generate-refused-setting.png | Bin 118648 -> 118691 bytes internal/gui/parts/button.go | 5 +- internal/gui/parts/detail.go | 15 + internal/gui/parts/listrow.go | 5 +- internal/gui/parts/progress.go | 2 +- internal/gui/parts/redraw.go | 33 ++ internal/gui/parts/segments.go | 7 +- internal/gui/parts/tabs.go | 6 +- internal/gui/parts/toggle.go | 6 +- 12 files changed, 493 insertions(+), 65 deletions(-) create mode 100644 internal/guard/canvastold_test.go create mode 100644 internal/gui/parts/redraw.go diff --git a/internal/guard/canvastold_test.go b/internal/guard/canvastold_test.go new file mode 100644 index 00000000..d8651126 --- /dev/null +++ b/internal/guard/canvastold_test.go @@ -0,0 +1,378 @@ +package guard + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + "go/types" + "path/filepath" + "sort" + "strings" + "testing" +) + +// Two rules about the one thing the test driver cannot see: whether the +// canvas was TOLD that something changed. +// +// The driver paints when its canvas is dirty, and the canvas is dirty when an +// object it has painted before asks to be. That "before" is the whole trap. +// The driver files each object it paints under the value the tree holds - +// type and pointer together - so a refresh sent for any other value finds no +// canvas, marks nothing and says nothing. Measured on 2026-09-16 in a copy of +// the window with the driver logging every refresh (O217): the pointer +// arrived on the explanation button, the button's face changed, the +// explanation was put on its sheet, and the driver's log ended there. No +// repaint. The refresh had been asked for the Button embedded inside +// DetailButton, and the tree holds the DetailButton. +// +// The test driver answers CanvasForObject with the last window's canvas +// whatever the object, and that canvas ignores Refresh - so every guard that +// hovers, taps or reads the tree stayed green through this, and would stay +// green through it again. What can be asked in a test is the shape of the +// code, so that is what these two ask, mechanically and over both packages +// the window is built from. +// +// What neither can see: a container held in a local variable rather than in a +// field, and a renderer that names the right pieces but changes a different +// one. The copy of the window with the logging driver is the instrument for +// those, and it lives in tools, not here. + +// canvasSource is one parsed production file of the window's code. +type canvasSource struct { + rel string + fset *token.FileSet + file *ast.File +} + +// windowSources parses internal/gui/parts and internal/gui/window, production +// files only, and fails rather than returning nothing. +func windowSources(t *testing.T) []canvasSource { + t.Helper() + var out []canvasSource + for _, pkg := range []string{"parts", "window"} { + dir := filepath.Join(repoRoot(t), "internal", "gui", pkg) + files, err := filepath.Glob(filepath.Join(dir, "*.go")) + if err != nil || len(files) == 0 { + t.Fatalf("listing %s: %v", dir, err) + } + for _, file := range files { + if strings.HasSuffix(file, "_test.go") { + continue + } + fset := token.NewFileSet() + parsed, err := parser.ParseFile(fset, file, nil, 0) + if err != nil { + t.Fatalf("parsing %s: %v", file, err) + } + out = append(out, canvasSource{rel: "internal/gui/" + pkg + "/" + filepath.Base(file), fset: fset, file: parsed}) + } + } + return out +} + +// declaredFields indexes every struct type declared in the sources: type name, +// then field name, then the field's type as it is written. +func declaredFields(sources []canvasSource) map[string]map[string]string { + index := map[string]map[string]string{} + for _, src := range sources { + for _, decl := range src.file.Decls { + gen, ok := decl.(*ast.GenDecl) + if !ok { + continue + } + for _, spec := range gen.Specs { + collectDeclaredFields(spec, index) + } + } + } + return index +} + +func collectDeclaredFields(spec ast.Spec, index map[string]map[string]string) { + ts, ok := spec.(*ast.TypeSpec) + if !ok { + return + } + st, ok := ts.Type.(*ast.StructType) + if !ok { + return + } + fields := map[string]string{} + for _, field := range st.Fields.List { + written := types.ExprString(field.Type) + for _, name := range field.Names { + fields[name.Name] = written + } + } + index[ts.Name.Name] = fields +} + +// methodsOf indexes the method names each receiver type answers. +func methodsOf(sources []canvasSource) map[string]map[string]bool { + index := map[string]map[string]bool{} + for _, src := range sources { + for _, decl := range src.file.Decls { + fn, ok := decl.(*ast.FuncDecl) + if !ok { + continue + } + if _, typeName := receiverOf(fn); typeName != "" { + if index[typeName] == nil { + index[typeName] = map[string]bool{} + } + index[typeName][fn.Name.Name] = true + } + } + } + return index +} + +// receiverOf is the receiver's name and type of a method, both empty for a +// plain function. A pointer receiver reports the type it points at. +func receiverOf(fn *ast.FuncDecl) (ident, typeName string) { + if fn.Recv == nil || len(fn.Recv.List) != 1 { + return "", "" + } + recv := fn.Recv.List[0] + if len(recv.Names) == 1 { + ident = recv.Names[0].Name + } + return ident, strings.TrimPrefix(types.ExprString(recv.Type), "*") +} + +// fieldChain reduces an expression of the shape recv.a.b to the field names +// a, b when it starts at the receiver, and returns nil for anything else. +func fieldChain(expr ast.Expr, recv string) []string { + var chain []string + for { + sel, ok := expr.(*ast.SelectorExpr) + if !ok { + break + } + chain = append([]string{sel.Sel.Name}, chain...) + expr = sel.X + } + if id, ok := expr.(*ast.Ident); !ok || id.Name != recv || recv == "" || len(chain) == 0 { + return nil + } + return chain +} + +// resolveChain follows field names down from a struct type and returns the +// type of the last one as written, or "" when the chain leaves what the +// sources declare. +func resolveChain(fields map[string]map[string]string, typeName string, chain []string) string { + written := "" + for _, name := range chain { + declared, ok := fields[strings.TrimPrefix(typeName, "*")] + if !ok { + return "" + } + written, ok = declared[name] + if !ok { + return "" + } + typeName = written + } + return written +} + +// calledOn is the receiver expression and method name of a method call, or +// nil for anything else. +func calledOn(n ast.Node) (ast.Expr, string, *ast.CallExpr) { + call, ok := n.(*ast.CallExpr) + if !ok { + return nil, "", nil + } + sel, ok := call.Fun.(*ast.SelectorExpr) + if !ok { + return nil, "", nil + } + return sel.X, sel.Sel.Name, call +} + +// A renderer redraws the pieces it draws, and never the widget. +// +// The rule is mechanical because the failure is silent: canvas.Refresh handed +// the wrong value is not an error, it is nothing. So no code in parts or +// window calls canvas.Refresh at all, every renderer's Refresh names its pieces +// through redraw, and none of those pieces is a widget of this package - a +// widget of this package asked to refresh would ask the canvas about itself, +// which is the same wrong question one step removed. +func TestARendererRedrawsThePiecesItDrawsAndNeverTheWidget(t *testing.T) { + sources := windowSources(t) + fields := declaredFields(sources) + methods := methodsOf(sources) + + widgets := map[string]bool{} + renderers := map[string]bool{} + for typeName, has := range methods { + if has["CreateRenderer"] { + widgets[typeName] = true + } + if has["Refresh"] && has["Layout"] && has["MinSize"] && has["Objects"] && has["Destroy"] { + renderers[typeName] = true + } + } + if len(renderers) == 0 || len(widgets) == 0 { + t.Fatalf("found %d renderers and %d widgets, so this guard read the wrong tree", len(renderers), len(widgets)) + } + + var offences []string + checked := 0 + for _, src := range sources { + for _, decl := range src.file.Decls { + fn, ok := decl.(*ast.FuncDecl) + if !ok { + continue + } + offences = append(offences, canvasRefreshCalls(src, fn)...) + recv, typeName := receiverOf(fn) + if !renderers[typeName] || fn.Name.Name != "Refresh" { + continue + } + checked++ + offences = append(offences, rendererRefreshOffences(src, fn, recv, typeName, fields, widgets)...) + } + } + if checked == 0 { + t.Fatal("no renderer Refresh method was read, so this guard would pass against anything") + } + t.Logf("%d renderer Refresh methods read in parts, %d widget types known", checked, len(widgets)) + sort.Strings(offences) + for _, o := range offences { + t.Error(o) + } +} + +// canvasRefreshCalls names every canvas.Refresh call in a function. +func canvasRefreshCalls(src canvasSource, fn *ast.FuncDecl) []string { + var out []string + ast.Inspect(fn, func(n ast.Node) bool { + on, method, call := calledOn(n) + if call == nil || method != "Refresh" { + return true + } + if pkg, ok := on.(*ast.Ident); ok && pkg.Name == "canvas" { + out = append(out, fmt.Sprintf("%s:%d calls canvas.Refresh - a refresh asked for a value the tree does not hold "+ + "reaches no canvas and says nothing, so a renderer names its pieces through redraw instead", + src.rel, src.fset.Position(call.Pos()).Line)) + } + return true + }) + return out +} + +// rendererRefreshOffences reads one renderer's Refresh: it must call redraw +// with at least one piece, and nothing it refreshes may be a widget of the +// package. +func rendererRefreshOffences(src canvasSource, fn *ast.FuncDecl, recv, typeName string, + fields map[string]map[string]string, widgets map[string]bool) []string { + var out []string + redrawn := 0 + where := func(n ast.Node) string { return fmt.Sprintf("%s:%d", src.rel, src.fset.Position(n.Pos()).Line) } + isWidget := func(expr ast.Expr) bool { + written := resolveChain(fields, typeName, fieldChain(expr, recv)) + return widgets[strings.TrimPrefix(written, "*")] + } + ast.Inspect(fn.Body, func(n ast.Node) bool { + call, ok := n.(*ast.CallExpr) + if !ok { + return true + } + if id, ok := call.Fun.(*ast.Ident); ok && id.Name == "redraw" { + redrawn += len(call.Args) + for _, arg := range call.Args { + if isWidget(arg) { + out = append(out, where(arg)+" hands redraw a widget of this package, which asks the canvas about itself one step removed") + } + } + return true + } + if on, method, _ := calledOn(n); method == "Refresh" && isWidget(on) { + out = append(out, where(n)+" refreshes a widget of this package from inside a renderer, which is the wrong value under embedding") + } + return true + }) + if redrawn == 0 { + out = append(out, fmt.Sprintf("%s:%d %s.Refresh names no piece through redraw, so nothing tells the canvas the face changed", + src.rel, src.fset.Position(fn.Pos()).Line, typeName)) + } + return out +} + +// A box that gains or loses a piece says so, in the same function. +// +// Container.Add and Remove lay the box out and stop there. A piece just added +// is not known to the canvas until it has been painted once, so its own +// refresh reaches nothing, and a piece just removed is out of the tree - the +// box is the only thing that can ask for the repaint. Every box in +// internal/gui/window already did (five of six sites, measured 2026-09-16), +// and the sixth was the explanation sheet, which got away with it on the +// pointer's path because the button's face asked in the same tick and never +// on the keyboard's, where no face changes (O217). +func TestABoxThatGainsOrLosesAPieceSaysSo(t *testing.T) { + sources := windowSources(t) + fields := declaredFields(sources) + + var offences []string + sites := 0 + for _, src := range sources { + for _, decl := range src.file.Decls { + fn, ok := decl.(*ast.FuncDecl) + if !ok || fn.Body == nil { + continue + } + recv, typeName := receiverOf(fn) + if recv == "" { + continue + } + changed, refreshed := boxesTouched(src, fn, recv, typeName, fields) + sites += len(changed) + for box, line := range changed { + if !refreshed[box] { + offences = append(offences, fmt.Sprintf("%s:%d %s changes %s and never refreshes it - the piece it added waits for a repaint from anywhere, and the piece it removed stays drawn until one", + src.rel, line, fn.Name.Name, box)) + } + } + } + } + if sites == 0 { + t.Fatal("no Add, Remove or RemoveAll on a container field was read, so this guard would pass against anything") + } + t.Logf("%d container changes read across parts and window", sites) + sort.Strings(offences) + for _, o := range offences { + t.Error(o) + } +} + +// boxesTouched reads one method and returns the container fields it adds to +// or removes from, each with the line of the first change, and the ones it +// refreshes. +func boxesTouched(src canvasSource, fn *ast.FuncDecl, recv, typeName string, fields map[string]map[string]string) (changed map[string]int, refreshed map[string]bool) { + changed = map[string]int{} + refreshed = map[string]bool{} + ast.Inspect(fn.Body, func(n ast.Node) bool { + on, method, call := calledOn(n) + if call == nil { + return true + } + chain := fieldChain(on, recv) + if chain == nil || resolveChain(fields, typeName, chain) != "*fyne.Container" { + return true + } + box := recv + "." + strings.Join(chain, ".") + switch method { + case "Add", "Remove", "RemoveAll": + if _, seen := changed[box]; !seen { + changed[box] = src.fset.Position(call.Pos()).Line + } + case "Refresh": + refreshed[box] = true + } + return true + }) + return changed, refreshed +} diff --git a/internal/guard/detailpopup_test.go b/internal/guard/detailpopup_test.go index 9653e253..2892b308 100644 --- a/internal/guard/detailpopup_test.go +++ b/internal/guard/detailpopup_test.go @@ -5,12 +5,10 @@ import ( "testing" "fyne.io/fyne/v2" - "fyne.io/fyne/v2/driver/desktop" "fyne.io/fyne/v2/test" "github.com/donislawdev/TestingFilesGenerator/internal/gui/parts" "github.com/donislawdev/TestingFilesGenerator/internal/gui/text" - "github.com/donislawdev/TestingFilesGenerator/internal/gui/window" ) // The longer explanation is reachable, not merely written down. @@ -27,26 +25,21 @@ import ( // the text beside it. A button that opens nothing would leave every one of // these sentences written, shipped, translated and unread. // -// It presses the button rather than looking for one. A button in the tree -// proves the layout, and only tapping it proves the wiring - which is the -// difference the parity guard's own note calls the threshold for saying a -// capability is reachable. +// It moves the pointer through the canvas rather than calling MouseIn, and +// that was corrected on 2026-09-16. Until then it called button.MouseIn +// directly - a guard that names the hover and does not do it - so it could +// not tell a button the pointer reaches from one it does not, and it could +// not tell a visible screen from a hidden one: the search for a button runs +// over the whole tree and a hidden screen's button answers to a call just as +// well. Through the canvas both questions are asked at once, because a hover +// aimed at a button that is not where the canvas draws it opens nothing. func TestTheLongerExplanationOpensWhenAsked(t *testing.T) { app := test.NewApp() defer test.NewApp() app.Settings().SetTheme(parts.Theme()) - host := newFakeHost(t) - window.Open(host) - content := tabNamed(t, host.content, text.TabOneTarget()) - - // A real canvas, because the button asks the toolkit which canvas it is on - // and opens the explanation there. Built without one it does nothing at - // all, on purpose - several guards build a tree they never show. - w := test.NewWindow(host.content) - defer w.Close() - w.Resize(window.LargestOpening) - host.content.Refresh() + content, c := laidOutWindow(t) + screen := tabNamed(t, content, text.TabOneTarget()) // Every field that has one, rather than a sample. These are the sentences // nobody can see until they press something, so an unwired button is @@ -65,50 +58,69 @@ func TestTheLongerExplanationOpensWhenAsked(t *testing.T) { {text.FieldSeed(), text.DetailSeed()}, {text.FieldLabel(), text.DetailLabel()}, } { - button := detailButtonBeside(content, field.label) + button := detailButtonBeside(screen, field.label) if button == nil { t.Errorf("%q has a longer explanation and no button that opens it", field.label) continue } + centre := drawnCentre(t, button, field.label) // Pointing at it, which is what somebody meeting a small letter i // actually does. Reported on 2026-08-12: it opened on a click and - // people hovered and waited. The toolkit has no tooltip, so this is - // three methods of desktop.Hoverable answered by hand - and a hook that - // is answered but never wired looks identical from outside. - button.MouseIn(&desktop.MouseEvent{}) - if shown := allText(content); !strings.Contains(shown, field.detail) { + // people hovered and waited. The pointer arrives from nowhere, the way + // it does in a window just opened, because that is the arrival that + // showed nothing on 2026-09-16 (O217) - though what was wrong that day + // is invisible here and held by canvastold_test.go instead. + test.MoveMouse(c, centre) + if shown := allText(screen); !strings.Contains(shown, field.detail) { t.Errorf("hovering the button beside %q did not show its explanation.\nWanted: %q\nShown: %q", field.label, field.detail, shown) } // And gone when the pointer leaves. Without this half the guard passes // on a tooltip that opens and never closes, which is worse than one - // that never opens: it covers the field underneath it. - button.MouseOut() - if shown := allText(content); strings.Contains(shown, field.detail) { + // that never opens: it covers the field underneath it. Left along the + // row, onto the field's name, which answers to no pointer. + test.MoveMouse(c, centre.SubtractXY(button.Size().Width*2, 0)) + if shown := allText(screen); strings.Contains(shown, field.detail) { t.Errorf("the explanation for %q stayed on screen after the pointer left", field.label) } - // A click still works, and that is not a nicety. Hovering is not + // A press still works, and that is not a nicety. Hovering is not // something a keyboard can do, and UX9 says whatever the mouse can // reach the keyboard can too - so the tap has to survive the hover // being added. - button.OnTapped() - if shown := allText(content); !strings.Contains(shown, field.detail) { + test.TapCanvas(c, centre) + if shown := allText(screen); !strings.Contains(shown, field.detail) { t.Errorf("pressing the button beside %q did not show its explanation.\nWanted: %q\nShown: %q", field.label, field.detail, shown) } // And a second press takes it away again, because somebody who opened // it from a keyboard has no pointer to move off it. - button.OnTapped() - if shown := allText(content); strings.Contains(shown, field.detail) { + test.TapCanvas(c, centre) + if shown := allText(screen); strings.Contains(shown, field.detail) { t.Errorf("pressing the button beside %q a second time did not take the explanation away", field.label) } - button.MouseOut() } } +// drawnCentre is the middle of a control as the canvas draws it, and a +// refusal when the canvas does not draw it at all. +// +// A position of 0,0 is what the driver answers for anything outside the +// visible tree, and the search that finds these buttons walks hidden screens +// as readily as the shown one. The batch screen carries a Size field with a +// button of its own, so without this a guard can hover a button nobody can +// see, read the sentence it put on a sheet nobody can see, and pass. +func drawnCentre(t *testing.T, o fyne.CanvasObject, label string) fyne.Position { + t.Helper() + at := fyne.CurrentApp().Driver().AbsolutePositionForObject(o) + if at.IsZero() { + t.Fatalf("the button beside %q is not in the visible tree, so this guard is reading a hidden screen", label) + } + return at.Add(fyne.NewPos(o.Size().Width/2, o.Size().Height/2)) +} + // The explanation never uses the overlay layer. // // This is the flicker, written as the rule that actually governs it, and it @@ -138,30 +150,25 @@ func TestTheExplanationNeverUsesTheOverlayLayer(t *testing.T) { defer test.NewApp() app.Settings().SetTheme(parts.Theme()) - host := newFakeHost(t) - window.Open(host) - content := tabNamed(t, host.content, text.TabOneTarget()) - - w := test.NewWindow(host.content) - defer w.Close() - w.Resize(window.LargestOpening) - host.content.Refresh() + content, c := laidOutWindow(t) + screen := tabNamed(t, content, text.TabOneTarget()) - button := detailButtonBeside(content, text.FieldSize()) + button := detailButtonBeside(screen, text.FieldSize()) if button == nil { t.Fatal("there is no explanation button beside the size field, so this guard read the wrong tree") } - button.MouseIn(&desktop.MouseEvent{}) - defer button.MouseOut() + centre := drawnCentre(t, button, text.FieldSize()) + test.MoveMouse(c, centre) + defer test.MoveMouse(c, centre.SubtractXY(button.Size().Width*2, 0)) // It has to be up before its absence anywhere else means anything. A guard // that checked for an empty overlay without opening the explanation would // pass on a button that does nothing. - if shown := allText(content); !strings.Contains(shown, text.DetailSize()) { + if shown := allText(screen); !strings.Contains(shown, text.DetailSize()) { t.Fatal("hovering showed nothing, so this guard is measuring a button that does not work") } - if overlays := w.Canvas().Overlays().List(); len(overlays) != 0 { + if overlays := c.Overlays().List(); len(overlays) != 0 { t.Errorf("the explanation put %d thing(s) in the overlay layer, the first a %T.\n"+ "While an overlay is up the driver looks for the pointer in the overlay and nowhere else, "+ "so the button underneath cannot be found - it is told the pointer left and closes the "+ @@ -180,6 +187,10 @@ func TestTheExplanationNeverUsesTheOverlayLayer(t *testing.T) { // the thing you click, so the row is the switch and its button. Reading only // labels here reported the switch as having no way to open its explanation, // which was this guard being wrong rather than the window. +// +// It answers the LAST row it meets, from wherever it is asked to look. Asked +// of the whole window that is a row on a hidden screen, at position 0,0 - so +// a caller asks it of one screen and checks the answer is drawn (drawnCentre). func detailButtonBeside(o fyne.CanvasObject, label string) *parts.DetailButton { var found *parts.DetailButton walk(o, func(obj fyne.CanvasObject) { diff --git a/internal/guard/testdata/screens/generate-hovered.png b/internal/guard/testdata/screens/generate-hovered.png index 9b686ec2afa64a18595b823871253791b5ffdd49..004f62b2458738811b89d9010fe507b390af2973 100644 GIT binary patch delta 5384 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 delta 5375 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�Zt`Fds;6U)+c2GQ&ELJeR|g zDIg_9MJr#mA8Nw(PXbdHBiLy#<0~jAIK-d|gQ`)`2dFIE{|kY(N!J=DiK|iM4~VW_ z30JuXZ6URr$gIc#6a-KdyZyCkYoj?l_2U5ACUw@G?xj+wr@$_f~WrF@DTB!VUh=iScU0UByws~es8t9 z7D3J=<%Vc^0nj|TOZ+l|JM16CBDqx?CbzWzsVi#eCq_G-z*eI20`2%;t`paCe2=%3 z6Jwi7f_ZV6Sq-Fw{x<|qMpHPZ9qFXlIX7zOT=@Sqt0A+_bngW?dApci{+HvZq%LJ( zk7$$;?yA$o@bS0S^M|s3Ur&E*+buPU{)7E3MgoG6D>sC|AE$qKg!X8~3V|tQ{-Dr! z;d%Yi&8uISXgzg$l|^s-%OI-B_@h2Fq)9a29$)+CuM1&|(kZK)Ez5XE{l+$!5Oc?u znwUIk3Om<&xdH)1RT++v3b_Et^WJ35;Qw!^M&-)okkgtA3z&d_H2cq6b+C{t8Kks% XCuW~(-fs`@NqpvtA(TX=fQy3}_S+GR_bpb5 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 delta 65950 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 cvx#~IJ Date: Wed, 16 Sep 2026 19:12:19 +0200 Subject: [PATCH 2/3] guard: a renderer names every piece it changes, and a box is refreshed after its last change Two things an outside review of the pull request pointed at, both about the guard and neither about the window. The renderer rule counted the arguments of redraw and asked nothing of them, so a face setting four pieces and naming three passed. It now reads every field set on a piece and every piece shown, through the renderer's own methods, and requires each to be named - Show on a canvas primitive or a container sets Hidden and stops in the pinned toolkit, where Hide, Move and Resize repaint by themselves. Measured on the seven renderers: 21 pieces changed, all named, and dropping any one of them turns it red. The box rule accepted a refresh anywhere in the method, so a refresh standing before the change counted. It now takes the last change and the last refresh and requires that order. What it still cannot see is written at the top of the file. Co-Authored-By: Claude Opus 5 --- internal/guard/canvastold_test.go | 268 ++++++++++++++++++++++++------ 1 file changed, 213 insertions(+), 55 deletions(-) diff --git a/internal/guard/canvastold_test.go b/internal/guard/canvastold_test.go index d8651126..ad6ac466 100644 --- a/internal/guard/canvastold_test.go +++ b/internal/guard/canvastold_test.go @@ -33,10 +33,12 @@ import ( // code, so that is what these two ask, mechanically and over both packages // the window is built from. // -// What neither can see: a container held in a local variable rather than in a -// field, and a renderer that names the right pieces but changes a different -// one. The copy of the window with the logging driver is the instrument for -// those, and it lives in tools, not here. +// What neither can see: a piece or a box held in a local variable rather than +// in a field, a write hidden in a function that is not a method of the +// renderer, one element of a slice written and another named, and a box +// changed on a path that returns before the refresh at the end of the +// function. The copy of the window with the logging driver is the instrument +// for those, and it lives in tools, not here. // canvasSource is one parsed production file of the window's code. type canvasSource struct { @@ -108,9 +110,16 @@ func collectDeclaredFields(spec ast.Spec, index map[string]map[string]string) { index[ts.Name.Name] = fields } -// methodsOf indexes the method names each receiver type answers. -func methodsOf(sources []canvasSource) map[string]map[string]bool { - index := map[string]map[string]bool{} +// methodBody is one method with the file it was read from, so a reader that +// follows a call into it can still say where a line is. +type methodBody struct { + src canvasSource + fn *ast.FuncDecl +} + +// methodsOf indexes the methods each receiver type answers, by name. +func methodsOf(sources []canvasSource) map[string]map[string]methodBody { + index := map[string]map[string]methodBody{} for _, src := range sources { for _, decl := range src.file.Decls { fn, ok := decl.(*ast.FuncDecl) @@ -119,15 +128,25 @@ func methodsOf(sources []canvasSource) map[string]map[string]bool { } if _, typeName := receiverOf(fn); typeName != "" { if index[typeName] == nil { - index[typeName] = map[string]bool{} + index[typeName] = map[string]methodBody{} } - index[typeName][fn.Name.Name] = true + index[typeName][fn.Name.Name] = methodBody{src: src, fn: fn} } } } return index } +// answers says whether a type has every one of these methods. +func answers(has map[string]methodBody, names ...string) bool { + for _, name := range names { + if _, ok := has[name]; !ok { + return false + } + } + return true +} + // receiverOf is the receiver's name and type of a method, both empty for a // plain function. A pointer receiver reports the type it points at. func receiverOf(fn *ast.FuncDecl) (ident, typeName string) { @@ -159,13 +178,39 @@ func fieldChain(expr ast.Expr, recv string) []string { return chain } +// pieceChain is fieldChain looking through an index: r.fills[i] and r.fills +// name the same field, because the slice is the piece a renderer holds and the +// index is which one it is drawing this time. +func pieceChain(expr ast.Expr, recv string) []string { + var chain []string + for { + switch e := expr.(type) { + case *ast.SelectorExpr: + chain = append([]string{e.Sel.Name}, chain...) + expr = e.X + continue + case *ast.IndexExpr: + expr = e.X + continue + case *ast.ParenExpr: + expr = e.X + continue + } + break + } + if id, ok := expr.(*ast.Ident); !ok || id.Name != recv || recv == "" || len(chain) == 0 { + return nil + } + return chain +} + // resolveChain follows field names down from a struct type and returns the // type of the last one as written, or "" when the chain leaves what the // sources declare. func resolveChain(fields map[string]map[string]string, typeName string, chain []string) string { written := "" for _, name := range chain { - declared, ok := fields[strings.TrimPrefix(typeName, "*")] + declared, ok := fields[bareType(typeName)] if !ok { return "" } @@ -178,6 +223,11 @@ func resolveChain(fields map[string]map[string]string, typeName string, chain [] return written } +// bareType is a written type without the pointer and slice marks in front of +// it, so a field holding one piece and a field holding a row of them resolve +// to the same declared type. +func bareType(written string) string { return strings.TrimLeft(written, "[]*") } + // calledOn is the receiver expression and method name of a method call, or // nil for anything else. func calledOn(n ast.Node) (ast.Expr, string, *ast.CallExpr) { @@ -200,6 +250,17 @@ func calledOn(n ast.Node) (ast.Expr, string, *ast.CallExpr) { // through redraw, and none of those pieces is a widget of this package - a // widget of this package asked to refresh would ask the canvas about itself, // which is the same wrong question one step removed. +// +// And EVERY piece the face changes is named, not merely one. Until 2026-09-16 +// this counted the arguments of redraw and stopped, so a renderer setting the +// colour of four pieces and naming three passed - an outside review of the +// pull request pointed at the count. A piece is changed when a field of it is +// set, or when it is shown: Show on a rectangle, an image, a text or a +// container sets Hidden and stops (canvas/base.go, fyne v2.8.1, read in the +// pinned module), where Hide, Move and Resize repaint by themselves. The +// reading follows the renderer into its own methods, because two of the seven +// set their colours in a helper and a reader stopping at Refresh would have +// read nothing about them and stayed green for it. func TestARendererRedrawsThePiecesItDrawsAndNeverTheWidget(t *testing.T) { sources := windowSources(t) fields := declaredFields(sources) @@ -208,10 +269,10 @@ func TestARendererRedrawsThePiecesItDrawsAndNeverTheWidget(t *testing.T) { widgets := map[string]bool{} renderers := map[string]bool{} for typeName, has := range methods { - if has["CreateRenderer"] { + if answers(has, "CreateRenderer") { widgets[typeName] = true } - if has["Refresh"] && has["Layout"] && has["MinSize"] && has["Objects"] && has["Destroy"] { + if answers(has, "Refresh", "Layout", "MinSize", "Objects", "Destroy") { renderers[typeName] = true } } @@ -220,7 +281,7 @@ func TestARendererRedrawsThePiecesItDrawsAndNeverTheWidget(t *testing.T) { } var offences []string - checked := 0 + checked, pieces := 0, 0 for _, src := range sources { for _, decl := range src.file.Decls { fn, ok := decl.(*ast.FuncDecl) @@ -233,13 +294,16 @@ func TestARendererRedrawsThePiecesItDrawsAndNeverTheWidget(t *testing.T) { continue } checked++ - offences = append(offences, rendererRefreshOffences(src, fn, recv, typeName, fields, widgets)...) + read := newRendererReading(recv, typeName, fields, widgets, methods) + read.walk(src, fn) + pieces += len(read.changed) + offences = append(offences, read.verdict(src, fn)...) } } - if checked == 0 { - t.Fatal("no renderer Refresh method was read, so this guard would pass against anything") + if checked == 0 || pieces == 0 { + t.Fatalf("%d renderer Refresh methods read and %d changed pieces found, so this guard would pass against anything", checked, pieces) } - t.Logf("%d renderer Refresh methods read in parts, %d widget types known", checked, len(widgets)) + t.Logf("%d renderer Refresh methods read in parts, %d pieces changed by them, %d widget types known", checked, pieces, len(widgets)) sort.Strings(offences) for _, o := range offences { t.Error(o) @@ -264,40 +328,123 @@ func canvasRefreshCalls(src canvasSource, fn *ast.FuncDecl) []string { return out } -// rendererRefreshOffences reads one renderer's Refresh: it must call redraw -// with at least one piece, and nothing it refreshes may be a widget of the -// package. -func rendererRefreshOffences(src canvasSource, fn *ast.FuncDecl, recv, typeName string, - fields map[string]map[string]string, widgets map[string]bool) []string { - var out []string - redrawn := 0 - where := func(n ast.Node) string { return fmt.Sprintf("%s:%d", src.rel, src.fset.Position(n.Pos()).Line) } - isWidget := func(expr ast.Expr) bool { - written := resolveChain(fields, typeName, fieldChain(expr, recv)) - return widgets[strings.TrimPrefix(written, "*")] +// rendererReading is what one renderer's Refresh does to the pieces it holds, +// read through every method of the renderer that Refresh calls. +type rendererReading struct { + recv, typeName string + fields map[string]map[string]string + widgets map[string]bool + methods map[string]map[string]methodBody + + // changed is each piece a field was set on or that was shown, with where + // that first happened, and named is each piece handed to redraw. + changed map[string]string + named map[string]bool + offences []string + visited map[string]bool +} + +func newRendererReading(recv, typeName string, fields map[string]map[string]string, + widgets map[string]bool, methods map[string]map[string]methodBody) *rendererReading { + return &rendererReading{recv: recv, typeName: typeName, fields: fields, widgets: widgets, methods: methods, + changed: map[string]string{}, named: map[string]bool{}, visited: map[string]bool{}} +} + +// piece is the field of the renderer an expression names, through any index, +// and whether that field holds a widget of this package - which is not a piece +// but the thing wearing the face. +func (rd *rendererReading) piece(expr ast.Expr) (key string, widget bool) { + chain := pieceChain(expr, rd.recv) + if chain == nil { + return "", false } + written := resolveChain(rd.fields, rd.typeName, chain) + return strings.Join(chain, "."), rd.widgets[bareType(written)] +} + +// walk reads one method: every field set on a piece, every piece shown, every +// piece named through redraw, and every method of this renderer called along +// the way, once each. +func (rd *rendererReading) walk(src canvasSource, fn *ast.FuncDecl) { + if rd.visited[fn.Name.Name] { + return + } + rd.visited[fn.Name.Name] = true + where := func(n ast.Node) string { return fmt.Sprintf("%s:%d", src.rel, src.fset.Position(n.Pos()).Line) } ast.Inspect(fn.Body, func(n ast.Node) bool { - call, ok := n.(*ast.CallExpr) - if !ok { - return true - } - if id, ok := call.Fun.(*ast.Ident); ok && id.Name == "redraw" { - redrawn += len(call.Args) - for _, arg := range call.Args { - if isWidget(arg) { - out = append(out, where(arg)+" hands redraw a widget of this package, which asks the canvas about itself one step removed") + switch node := n.(type) { + case *ast.AssignStmt: + for _, lhs := range node.Lhs { + if sel, ok := lhs.(*ast.SelectorExpr); ok { + rd.change(sel.X, where(lhs)) } } - return true - } - if on, method, _ := calledOn(n); method == "Refresh" && isWidget(on) { - out = append(out, where(n)+" refreshes a widget of this package from inside a renderer, which is the wrong value under embedding") + case *ast.CallExpr: + rd.call(node, where(node)) } return true }) - if redrawn == 0 { +} + +// change records a piece whose face is now different from what the canvas +// last painted. +func (rd *rendererReading) change(expr ast.Expr, at string) { + key, widget := rd.piece(expr) + if key == "" || widget { + return + } + if _, seen := rd.changed[key]; !seen { + rd.changed[key] = at + } +} + +// call reads one call: redraw and what it was handed, a method of the renderer +// to follow, Show on a piece, or Refresh on a widget of this package. +func (rd *rendererReading) call(call *ast.CallExpr, at string) { + if id, ok := call.Fun.(*ast.Ident); ok && id.Name == "redraw" { + for _, arg := range call.Args { + key, widget := rd.piece(arg) + if widget { + rd.offences = append(rd.offences, at+" hands redraw a widget of this package, which asks the canvas about itself one step removed") + } + if key != "" { + rd.named[key] = true + } + } + return + } + on, method, _ := calledOn(call) + if on == nil { + return + } + if id, ok := on.(*ast.Ident); ok && id.Name == rd.recv { + if helper, ok := rd.methods[rd.typeName][method]; ok { + rd.walk(helper.src, helper.fn) + } + return + } + key, widget := rd.piece(on) + switch { + case method == "Refresh" && widget: + rd.offences = append(rd.offences, at+" refreshes a widget of this package from inside a renderer, which is the wrong value under embedding") + case method == "Show" && key != "": + rd.change(on, at) + } +} + +// verdict is every offence read, plus one for each piece changed and never +// named, and one for a Refresh that names nothing at all. +func (rd *rendererReading) verdict(src canvasSource, fn *ast.FuncDecl) []string { + out := rd.offences + for key, at := range rd.changed { + if !rd.named[key] { + out = append(out, fmt.Sprintf("%s %s.Refresh changes %s.%s and never names it through redraw, so that piece keeps the face the canvas last painted", + at, rd.typeName, rd.recv, key)) + } + } + if len(rd.named) == 0 { out = append(out, fmt.Sprintf("%s:%d %s.Refresh names no piece through redraw, so nothing tells the canvas the face changed", - src.rel, src.fset.Position(fn.Pos()).Line, typeName)) + src.rel, src.fset.Position(fn.Pos()).Line, rd.typeName)) } return out } @@ -328,12 +475,17 @@ func TestABoxThatGainsOrLosesAPieceSaysSo(t *testing.T) { if recv == "" { continue } - changed, refreshed := boxesTouched(src, fn, recv, typeName, fields) + changed, refreshed := boxesTouched(fn, recv, typeName, fields) sites += len(changed) - for box, line := range changed { - if !refreshed[box] { + for box, last := range changed { + line := src.fset.Position(last).Line + switch { + case !refreshed[box].IsValid(): offences = append(offences, fmt.Sprintf("%s:%d %s changes %s and never refreshes it - the piece it added waits for a repaint from anywhere, and the piece it removed stays drawn until one", src.rel, line, fn.Name.Name, box)) + case refreshed[box] < last: + offences = append(offences, fmt.Sprintf("%s:%d %s changes %s after the last word to the canvas about it (line %d) - a refresh before the change repaints the old contents", + src.rel, line, fn.Name.Name, box, src.fset.Position(refreshed[box]).Line)) } } } @@ -349,11 +501,19 @@ func TestABoxThatGainsOrLosesAPieceSaysSo(t *testing.T) { } // boxesTouched reads one method and returns the container fields it adds to -// or removes from, each with the line of the first change, and the ones it -// refreshes. -func boxesTouched(src canvasSource, fn *ast.FuncDecl, recv, typeName string, fields map[string]map[string]string) (changed map[string]int, refreshed map[string]bool) { - changed = map[string]int{} - refreshed = map[string]bool{} +// or removes from, each with where the LAST change is, and the ones it +// refreshes, each with where the LAST refresh is. +// +// The last of each rather than any: a refresh standing before the change +// repaints what the box held before it, and the change after it is as silent +// as no refresh at all. Until 2026-09-16 any refresh anywhere in the method +// counted, which an outside review of the pull request pointed at. What this +// still reads as one method is the source order, so a change on a path that +// returns before the refresh at the foot of the method passes - two such +// paths exist, both on a value the registry cannot hand the menu. +func boxesTouched(fn *ast.FuncDecl, recv, typeName string, fields map[string]map[string]string) (changed, refreshed map[string]token.Pos) { + changed = map[string]token.Pos{} + refreshed = map[string]token.Pos{} ast.Inspect(fn.Body, func(n ast.Node) bool { on, method, call := calledOn(n) if call == nil { @@ -366,11 +526,9 @@ func boxesTouched(src canvasSource, fn *ast.FuncDecl, recv, typeName string, fie box := recv + "." + strings.Join(chain, ".") switch method { case "Add", "Remove", "RemoveAll": - if _, seen := changed[box]; !seen { - changed[box] = src.fset.Position(call.Pos()).Line - } + changed[box] = max(changed[box], call.Pos()) case "Refresh": - refreshed[box] = true + refreshed[box] = max(refreshed[box], call.Pos()) } return true }) From 98699741f8d9b3cdc66e3defd73c46393b1e3785 Mon Sep 17 00:00:00 2001 From: DonislawDev Date: Wed, 16 Sep 2026 19:20:06 +0200 Subject: [PATCH 3/3] changelog: the explanation opens on the first hover and from the keyboard The fix in this pull request is one a person sees, and every other change under Unreleased that a person sees has its entry - an outside review pointed at the missing one. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f65806f..a213ffed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -134,6 +134,14 @@ because it turns other people's test suites red. ### Fixed +- **The explanation beside a field opens on the first hover, and opens and + closes from the keyboard.** Pointing at the information mark in a fresh + window showed nothing until something else on the screen happened to + repaint, and Space on the mark with the keyboard drew nothing at all. The + window's controls now tell the canvas about each piece they change, and the + sheet the explanation is drawn on says so when a box is put on it or taken + off. + - **A refused preset no longer carries the note of the preset before it.** A limit of 512 B was refused with "no limit was given" under it - a note left over from the last expansion that worked.