chore(deps): update the fleet - autoclosed - #91
Closed
tannevaled wants to merge 1 commit into
Closed
Conversation
Contributor
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.11.0→v0.12.0v0.230.0→v0.284.0Release Notes
go-widgets/painter (github.com/go-widgets/painter)
v0.12.0Compare Source
go-widgets/toolkit (github.com/go-widgets/toolkit)
v0.284.0Compare Source
v0.283.0Compare Source
v0.282.0Compare Source
v0.281.0Compare Source
v0.280.0Compare Source
v0.279.0Compare Source
v0.278.0Compare Source
v0.277.0: — a scroll view and a form field were both walls to the keyboardCompare Source
A scroll view and a form field were both walls to the keyboard
Neither implemented
focusableChildren, so the focus walker could not see the controls inside them. The compiler says it plainly once a test asks:Every other single-child wrapper here already had it —
AlignBox,Padding,PopoverHost, and the four layout containers. These two were missed, and the cost is not small: a scrolling panel of controls has none of them reachable by Tab, however many there are, and a form of labelled inputs has none of them at all. Found fromgo-pdfkit/app, whose settings panels are exactly that shape.Reaching them is only half of it
A child's
Boundsdo not move when the view scrolls:SetBoundsanchors the child at the viewport's origin with the whole content's height, and the offset is applied when it is drawn. So enumerating the children hands the focus walker every control including the ones below the fold — ten controls 24 high in a view 72 high leaves eight of them out of sight — and Tab would move the cursor somewhere nobody can see it.That is a worse defect than the one being fixed, not a smaller one. So the walk now reveals what it moved to:
revealFocusedasks everyScrollViewunder the container to scroll its focused descendant into the viewport.revealDeltasays how far along one axis: the near edge in when the control is before the window, the far edge in when it is after, nothing when it is already inside — and the near edge when the control is taller than the window can hold, because that is the end worth showing.Only Tab and Shift+Tab do this. A click already lands on something visible.
The test
It tabs through all ten controls of a column three deep, forward and then backward, and requires every focused control to lie inside the window at the offset the view is actually at. Backward matters: a fix that only ever scrolls down passes the first half and fails the second.
100% statement coverage,
go vetand-raceclean, nine cross-compile targets.v0.276.0Compare Source
v0.275.0Compare Source
v0.274.0Compare Source
v0.273.0Compare Source
v0.272.0Compare Source
v0.271.0: — IconGrid.MinCellWCompare Source
A floor on the cell width, for a grid whose label identifies the cell rather than its icon:
VITURE Luma Ultraunder a 40-pixel icon was elided toVITURE …, which is the one thing the tile exists to say. A floor, so it changes nothing for a grid that does not set it, and scaled like every other metric.v0.270.0: — Frame.Measure, and an unbounded axisCompare Source
Frame.Measure(width)reports what a titled panel needs — its child plus border, padding and title bar — so a frame can be an item in a column or the child of a scroll view without a caller reproducing four of the toolkit's constants. The inset lives in one place now, so the layout and the measurement cannot disagree.And a bug in what shipped: asking a
Measurerfor one axis passed zero on the other, and a Measurer takes what is available — soAlignBoxandPaddingcould only answer nought, and anything that consulted one measured to nothing.measureUnboundedsays unconstrained.v0.269.0: — IconGrid: vector cells, a measure, and scaled metricsCompare Source
IconCell.Icontakes anIconFunc, so a grid of device tiles needs no rasterised artwork (anImagestill wins when both are set; a selected cell's icon draws in the accent).IconGrid.Measure(width)reports the height its rows need, so a grid composes as an item in a column or the child of aScrollViewinstead of being given a height. And the cell metrics — padding, label band, selection field, chip — go throughscaled(), so a magnified interface no longer gets a large icon in a 1x cell.DrawIconGlassesjoins the stock icon set: a headset is a device class, drawn rather than photographed.v0.268.0: — natural size by default, and a layout checkCompare Source
A box item with neither
FlexnorSizenow takes the widget's natural size, not an equal flex share. That default is what the tempting way to add a widget does, and while it was "share the space equally" a caller who wanted a sensible column had to compute one in pixels. A widget that cannot measure itself still falls back to the equal share;VBox.Append/HBox.Appendare unchanged.LayoutProblems(root)walks a laid-out tree and reports every child outside its parent (always a defect) and every child nobody placed (usually one — four widgets in this package positioned their children only insideDraw). It belongs in a test, where a layout is checked with no display and nobody looking at a picture.Canary: go-pdfkit/app, wasmdesk/wasmbox, go-news-reader/reader, go-widgets/tui and go-xrkit/desk all pass against it.
v0.267.0: — a click reaches a ScrollView's contentCompare Source
The content of a
ScrollViewwas passive for clicks: a press neither scrollbar wanted began a pan and nothing was forwarded, so every control inside a scroll view was dead to the mouse — and a long form is exactly what a scroll view is for.The click is now forwarded, translated by the scroll offset (which is how the content is painted). The pan still starts on the same press, and a press on a scrollbar still belongs to the scrollbar.
v0.266.0: — a Container measures itselfCompare Source
LayoutMeasureris the optionalLayoutcapability andContainer.Measureasks it, so a page of widgets can BE content: aScrollViewsizes it (v0.265.0) and anItem{Natural: true}asks it (v0.264.0).BoxLayoutandFitLayoutimplement it; a layout that cannot measure leaves the container reporting its bounds.A flex item contributes only what it measures — flex means take what is left over, and a measurement has nothing left over — so a column of cards with a flex spacer measures exactly the cards.
v0.265.0: — ScrollView sizes a measurable childCompare Source
Nothing in
ScrollViewgave the child bounds, and declaring the content extent was the caller's job. So a scroll view around a freshly built column showed nothing, and one whose content changed scrolled over a stale extent.SetBoundsnow sizes a measurable child to the viewport width and the height it reports there, and declares the extent from the same numbers. An unmeasurable child, or a caller who declares the extent afterSetBounds, is untouched. Content is never shorter than the viewport.v0.264.0: — Item.Natural: a box sizes a child to what it measuresCompare Source
A box layout read
Item.SizeandItem.Flexand nothing else, so a run of cards or settings rows had to be a table of pixel constants the caller computed by hand — right at one window size and wrong at every other, with the run overflowing whatever was pinned below it when the window shrank.Item.Natural,VBox.AddNaturalandHBox.AddNaturalsize a child on the main axis from what it MEASURES, re-measured on every layout. A column asks the card family's question (WidthMeasurer: how tall at this width), a row the two-axisMeasurer; the child's own bounds are the last resort. Ignored whenSizeorFlexis set.v0.263.0: — SettingsGroup and SettingRow lay out in SetBoundsCompare Source
Same defect as v0.261.0, in the preferences family: a
SettingsGrouppositioned its rows, and eachSettingRowits control, only insideDraw. A card that had never been painted reported every row and control at the origin with no size — so a click into a drop-down hit a zero-size rectangle and a host sizing a window from the tree measured nothing.The card inset moves into a pure
cardContent(r), so the layout and the paint cannot disagree.v0.262.0: — the chevron scalesCompare Source
The
DropDownchevron was drawn in raw pixels: seven by four, whatever the interface was scaled to. At 3x on an 8K panel it is a speck beside type nine times its area — the only affordance a closed control has. It is now drawn in scaled units, floored at one pixel so a sub-unit scale still leaves a mark. Byte-identical at 1x.v0.261.0: — FormField lays out in SetBoundsCompare Source
A
FormFieldpositioned its child only insideDraw, so the child had no bounds until the first frame: a click into a list inside a field picked its row from a zero-height rectangle, and every pre-paint walk reported the control at the origin. Layout now happens inSetBounds;Drawkeeps its call for a child attached, or a caption changed, since.v0.260.0: — PopoverHostCompare Source
toolkit.NewPopoverHost(root)is the host half aDropDownneeds and no application had written: it draws every open option list after the whole tree, and offers a click to the topmost open list before the tree sees it. Wrap your root in one and the control works.PopoverOwneris the capability,PopoverOwnersthe walk, for a host that composes its own surface.DropDown.PopoverOpen()completes the capability.v0.259.0Compare Source
v0.258.0Compare Source
v0.257.0Compare Source
v0.256.0Compare Source
v0.255.0Compare Source
v0.254.0Compare Source
v0.253.0Compare Source
v0.252.0Compare Source
v0.251.0Compare Source
v0.250.0Compare Source
v0.249.0Compare Source
v0.248.0Compare Source
go-crdt/crdtv0.29.0 → v0.31.0,go-crdt/collabv0.18.0 → v0.25.0 (#373).crdt v0.31.0carries the audit of what a peer can send, which until this weeksat on
crdt'smainand was in no release — so nothing depending on it hadthose fixes, this toolkit included.
The one that matters most in a toolkit is not a denial of service but a crash
nothing can recover from: a record keyed by the root sentinel became a node of a
tree whose parent was itself, and walking it ran the stack out. A stack overflow
is not a panic — no
recovercatches it, the process goes, and in a toolkit thatis the application window disappearing. Also arriving: three decoders that
allocated on a length chosen by whoever sent the bytes are bounded now, and
DropPendingbounds what an operation that can never apply may occupy.Nothing in this repository needed a change for either. This release exists so
that everything depending on the toolkit can pick the fixes up.
v0.247.0Compare Source
v0.246.0Compare Source
v0.245.0Compare Source
v0.244.0Compare Source
v0.243.0Compare Source
v0.242.0Compare Source
v0.241.0Compare Source
v0.240.0Compare Source
v0.239.0Compare Source
v0.238.0Compare Source
v0.237.0Compare Source
v0.236.0Compare Source
v0.235.0Compare Source
v0.234.0Compare Source
v0.233.0Compare Source
v0.232.0Compare Source
v0.231.0Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.