You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f861506
Browse filesBrowse the repository at this point in the historyBrowse files
Put an address beside its own QR code, on one screen
Opening an address showed its text, and the code was a step further in.
Scanning is what a reader almost always came for, so it is the screen
they land on now - with the derivation path and the address itself in
the margin the right-aligned code leaves, in the same groups of four the
paged view uses.
Two facts about one address were on two screens; they are on one.
The grid is fixed at two groups to a line rather than as many as the
margin holds, so the shape is the same every time and only the last line
varies. Each column is as wide as the widest group in the value: the
face is proportional, so groups of equal length are not of equal width,
and centring each line would start every one at its own x. A last line
that does not fill its columns is centred on the block instead of left
in the first one.
Not every address fits. A taproot address is 62 characters against the
48 two columns hold there, so seedtool_render_qr_address measures before
it draws anything and refuses what will not fit - those fall back to the
code alone and then the paged text, which has the width for them. An
address cut off at the margin's end looks exactly like one that ended
there, which is the whole reason this returns a bool rather than drawing
as far as it reaches.
That refusal is checked rather than argued: the new self-test alters an
address's last group and requires the margin to change with it, so a
tail that was never drawn fails, and it requires the taproot address to
be refused outright. Both halves were confirmed against a deliberately
broken build - removing the height guard fails it - because the existing
grouped-paging check walks only the paged path at the body face and says
nothing about groups drawn by any other route.
page_grouped loses its only caller and goes; the paged grouped view it
named is reached through page_text_impl now, for the values that need it.
Verified with the host self-test, the 52 Python tests, the QR smoke test
and the self-test under ASan and UBSan. Every address shape the firmware
derives was rendered off the framebuffer and read.
0 commit comments