Skip to content

graft batch 3: 9 lands from backlog-1 - #166

Closed
thedancingdeveloper wants to merge 9 commits into
mainfrom
graft/batch-3
Closed

thedancingdeveloper wants to merge 9 commits into
mainfrom
graft/batch-3

Conversation

@thedancingdeveloper

Copy link
Copy Markdown
Collaborator

Batch 3 of graft line backlog-1, one commit per land, oldest first, by graft-mirror (decision D26). Merge it with rebase-merge to keep the commits (D28). graft never merges or queues this PR.

  • Base: main at 3a414da (graft c659202e11f214a19138fda72cc0734a35069915a893df45be0d697088bd4c4c0)
  • Lands: 9 (c659202e11f214a19138fda72cc0734a35069915a893df45be0d697088bd4c4c0..c1d7073b5ad4ceff17acc8c7b2ff6bd2c8dc6961f61303a2497445d07d91151ed)
Changeset Author Session Work item Attestations Subject
c1d7073b5ad4c graft ses_01M5VBEMRWD5CTEXVMHBZKKEDE gh:#152 none combobox: borrow options and cache the filter
ccd4bd5ca514c graft ses_01M5VATT5ANHEQKBSNKGDJMQGN gh:#148 none Rename DialogKind::NonModal to Dismissible
cc6f9a935ddcb graft ses_01M5VA6CNQPH68YFHT7B2RBWD1 gh:#151 none Slider sizes come from theme tokens, and disabled paint uses disabled aliases.
cf6ed4e3e7f3e graft ses_01M5V9RP9JWH1AW093VCW566EP gh:#147 none Decouple dialog action ids from display labels.
c29f4a52b370b graft ses_01M5V9RCEC472BARF1G7712D83 gh:#146 none Name comboboxes from their label or the enclosing Field.
ce7cadaf44837 graft ses_01M5V88E0YVXJJVQTVHV2MX53D gh:#145 none fix(combobox): freeform Enter commits an arrow-key selection
cefd21612c8f5 graft ses_01M5V7Y2C39KZFY6E8FP6N018Y gh:#144 none fix: keep slider geometry finite on extreme ranges
c3391d132c031 graft ses_01M5V7KGEJZA09F22FT5X7YHVW gh:#143 none Fix slider painting and a11y from the pre-input value.
c14829aada948 graft ses_01M5V50XH5PG2K65HDS2018YVJ gh:#141 none Reject oversized data-URI base64 before allocating

Graft-Batch: 3
Graft-Line: backlog-1
Graft-Changeset: c1d7073b5ad4ceff17acc8c7b2ff6bd2c8dc6961f61303a2497445d07d91151ed

graft added 9 commits October 26, 2026 03:55
Graft-Changeset: c14829aada94812c7f05291abee6c96da9bd908ae688da4e6857f41c899a4af5f
Graft-Session: ses_01M5V50XH5PG2K65HDS2018YVJ
Graft-Work-Item: gh:#141
Graft-Batch: 3
Drag and keyboard update the value before the thumb is painted and
WidgetInfo::slider reports it, and changed is set only when the value moved.

Graft-Changeset: c3391d132c0312ddb8f977b408ab33542ee0a971b05871ac2aef00320b3439b9b
Graft-Session: ses_01M5V7KGEJZA09F22FT5X7YHVW
Graft-Work-Item: gh:#143
Graft-Batch: 3
Normalise without subtracting endpoints that overflow, and cover inverted, degenerate, NaN, and tiny-step ranges.

Graft-Changeset: cefd21612c8f5f82124790c954d83d2e232a960025fc7cd151e5c4beee3436437
Graft-Session: ses_01M5V7Y2C39KZFY6E8FP6N018Y
Graft-Work-Item: gh:#144
Graft-Batch: 3
Track whether the highlight was chosen with the arrow keys since the text
last changed. With freeform on, Enter commits that option, and keeps the
typed text otherwise. Typing clears the selection.

Graft-Changeset: ce7cadaf44837292b8d2180e457c3a5f2a82a534ce040f2bdd0c32979bf6455e6
Graft-Session: ses_01M5V88E0YVXJJVQTVHV2MX53D
Graft-Work-Item: gh:#145
Graft-Batch: 3
The accessible name was the placeholder, so a labelled Field was ignored. .label() wins, then the Field label, then the placeholder, then "Combobox"; the typed value stays separate.

Graft-Changeset: c29f4a52b370b3dbac56168bccf29dae0e29eae1c59722613febc89c3c16a795c
Graft-Session: ses_01M5V9RCEC472BARF1G7712D83
Graft-Work-Item: gh:#146
Graft-Batch: 3
Each action now takes a stable id plus display text. CloseReason::Button
and widget ids use the id, so duplicate or translated labels stay distinct.

Breaking: DialogActions::primary and secondary take (id, text).
CloseReason is no longer Copy.

Graft-Changeset: cf6ed4e3e7f3e7e3a89a8dc6f51df37a10608bf637e9485ec8b26cb5bb3a8b8d8
Graft-Session: ses_01M5V9RP9JWH1AW093VCW566EP
Graft-Work-Item: gh:#147
Graft-Batch: 3
… aliases.

gh-151

Graft-Changeset: cc6f9a935ddcb886e2e60cafe1e04a5c6ef0379b4ca645b094f04e1c9a91a58ab
Graft-Session: ses_01M5VA6CNQPH68YFHT7B2RBWD1
Graft-Work-Item: gh:#151
Graft-Batch: 3
Every dialog blocks the page behind it. The variant only chooses dismissal:
Modal closes on a backdrop click, Dismissible on Escape only, Alert on neither.
NonModal stays as a deprecated alias.

Graft-Changeset: ccd4bd5ca514caf7ae0a3bb68f191984763a74d90df86f2f4ee904147b6776bf5
Graft-Session: ses_01M5VATT5ANHEQKBSNKGDJMQGN
Graft-Work-Item: gh:#148
Graft-Batch: 3
The builder keeps a borrowed slice or a ComboboxOptions model instead of
copying every label. Filtering runs only while the popup is open, and the
result is cached on the query and the model revision.

Graft-Changeset: c1d7073b5ad4ceff17acc8c7b2ff6bd2c8dc6961f61303a2497445d07d91151ed
Graft-Session: ses_01M5VBEMRWD5CTEXVMHBZKKEDE
Graft-Work-Item: gh:#152
Graft-Batch: 3
@thedancingdeveloper

Copy link
Copy Markdown
Collaborator Author

Closed for re-cut: graft-dev now exports real authors (WI-2511). Batch 3 is re-cut with the same lands plus the review fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant