alpha
Login
or
Join now
jmrp.io
/
kleidos
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
[READ-ONLY] Mirror of https://github.com/jmrplens/kleidos. Kleidos — Hardware BLE password manager for ESP32-S3 (M5StickC Plus2, StickS3, M5Stack Gray, T-Deck, Cardputer)
jmrplens.github.io/kleidos/
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
kleidos
/
test
/
ui
/
test_text_field_component
/
at
main
1 file
José M. Requena Plens
feat(ui): bullet password mask + animated Stick tab indicator
2mo ago
9ddaa527
test_text_field_component.cpp
feat(ui): bullet password mask + animated Stick tab indicator Replace the ASCII '*' password mask with U+2022 BULLET rendered in the active font (atlas-confirmed in every generated AA size). Add a shared, host-testable ui::mask_glyph helper that builds a bounded UTF-8 mask row (3 bytes per bullet, never splitting a multi-byte glyph, never emitting plaintext) and route the credential-detail field and the text-field component through it. Buffers are sized for the 3-byte glyph and the field tail trim now advances by whole code points. Masking behavior and the no-plaintext guarantee are unchanged; only the glyph differs. Redesign the Stick (2-button) page indicator: move it out of the brand/battery header into a top-edge segmented underline on the divider line (hairline kSubtle565 track inset by space.md, one segment per page, a bright kPrimary565 pill on the active segment). Slide the pill between segments on a page flip via ui::Tween (180 ms, Easing::InOutQuad), gated to Refresh::Instant; e-paper/mono snap with no animation. The slide is cooperative (one frame per tick while moving, static at rest) and reuses the existing menu-anim pump. Reserve a small band below the header so the list never collides with the pill. Geometry + timing live in a pure host-testable ui::tab_indicator header. The 3-button Gray tab path is untouched; the whole indicator stays gated behind !HAS_KEYBOARD. Add native tests for the mask-row builder and the indicator geometry, and update the text-field component test to expect the bullet.
2 months ago