Skip to content

Visor: grapheme-aware glyph input and emoji picker - #189

Merged
lannbot merged 1 commit into
mainfrom
visor/grapheme-glyph-input
Sep 10, 2026
Merged

Visor: grapheme-aware glyph input and emoji picker#189
lannbot merged 1 commit into
mainfrom
visor/grapheme-glyph-input

Conversation

@lannbot

@lannbot lannbot commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Replace scalar-value truncation with unicode-segmentation: strip leading Unicode whitespace and retain the first extended grapheme, without NFC normalization.
  • Reuse one glyph input for user and app labels, supporting typing, paste, IME composition, and a searchable in-page emoji picker.
  • Bundle the emoji catalogue locally through emojis, including skin-tone variants and paged results. No third-party runtime requests or JavaScript picker state.
  • Preserve compound glyphs in saved metadata display, strip rendering, and launcher icon painting. Existing metadata is normalized for display without an automatic storage migration.

Verification

  • Astra review complete; desktop/mobile Chromium screenshots inspected.
  • just check, just test, and just e2e passed; all 29 Chromium scenarios pass.
  • Coverage includes whitespace, combining marks, ZWJ sequences, skin tones, flags, keycaps, variation selectors, same-value paste normalization without focus loss, composition commit, picker search/selection/Escape, Save/Revert/reload, and launcher canvas input.
  • Current visor component is 379,168 bytes gzipped; raw size grows by approximately 417KB from the bundled catalogue and picker.

Automerge will be armed.

@lannbot
lannbot enabled auto-merge September 10, 2026 18:36
@lannbot
lannbot merged commit 9758efc into main Sep 10, 2026
2 checks passed
@lannbot
lannbot deleted the visor/grapheme-glyph-input branch September 10, 2026 18:42
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.

2 participants