Skip to content

Add emoji shortcodes and configurable snippets - #259

Merged
pzauner merged 3 commits into
palsoftware:mainfrom
astroboii47:enhanced-feature-set
Aug 11, 2026
Merged

Add emoji shortcodes and configurable snippets#259
pzauner merged 3 commits into
palsoftware:mainfrom
astroboii47:enhanced-feature-set

Conversation

@astroboii47

@astroboii47 astroboii47 commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR has been rebuilt on the current main with a deliberately reduced scope: configurable global snippets plus typed Unicode emoji and symbol shortcodes.

What changed

  • Pinned Unicode Emoji 17.0 and CLDR JSON 48.2.1 inputs.
  • Added deterministic emoji asset generation with --check support.
  • Added a compact generated shortcode index instead of the former 1.3 MB emoji.json.
  • Added a shared text-expansion engine with atomic replacement and lifecycle validation.
  • Added global snippets with a configurable one-character prefix and multiline, whitespace-preserving values.
  • Added separate emoji and symbol providers with collision-safe matching.
  • Added independently configurable popup/suggestion-bar presentation and Space/Tab/Enter activation policies.
  • Anchored floating matches directly above the current IME surface, with five visible rows and internal scrolling.
  • Added shared glyph/API availability gating for both the picker and emoji shortcodes.
  • Added complete manual backup/fresh-install restore registration for the new settings.

Behavior and safety

  • No automatic replacement on prefix-only matches.
  • :name: expands only a unique exact emoji/symbol match; collisions remain selectable.
  • Expansion is disabled in password, URI, email, and filter fields.
  • Cursor, selection, token, and active input session are revalidated before replacement.
  • Expansion state is cleared on field/app changes, rotation, input finish, cursor/selection changes, and physical/on-screen surface changes.
  • Existing modifier chords such as Ctrl+Space and Alt+Enter keep precedence.
  • Disabled providers do not load their assets or query editor context.

Original contributor work and attribution

The useful ideas and data were derived from the original contributor commits:

  • 003187e — Update emoji data and custom emoji rendering
  • 712f098 — Add snippets and typed shortcode popups
  • Original PR head preserved locally before the rewrite: e9821c36b15a136f813ec727414c1d06b2a1f452

All three replacement commits retain Co-authored-by: astroboii47 <aaron.kim77@gmail.com>.

Intentionally excluded

Custom emoji fonts, predictions/unified suggestions, per-app themes/theme controls, media picker, GIF sending, stickers, Klipy, and all related dependencies or settings are not part of this PR.

Test matrix

  • python3 scripts/update_emoji_assets.py --check
  • Full testNightlyDebugUnitTest suite
  • scripts/build-nightly-debug.sh 0.86 --install --device 37081JEHN11514
  • Pixel 7a install verified; Pastiera remained the active IME
  • Pixel 7a floating-popup position and scrolling verified against the full on-screen keyboard
  • Independent full-diff review: no remaining P0/P1/P2 findings

Still required before marking ready:

  • Green GitHub CI
  • Manual device pass in Obsidian, Chrome textarea, and a remote/messenger editor
  • Verify smooth Obsidian scrolling, visible status bar, stable IME height, on-screen ↔ physical switching, and both popup/suggestion-bar modes

@astroboii47
astroboii47 marked this pull request as ready for review July 18, 2026 03:21
@pzauner pzauner closed this Jul 18, 2026
@pzauner pzauner reopened this Jul 18, 2026
@pzauner pzauner closed this Jul 18, 2026
@astroboii47

Copy link
Copy Markdown
Contributor Author

Reopening this as the cleaned PR for review. It uses the neutral branch and split commits, so this should be the single place to track the combined Enhanced feature set from here.

@pzauner

pzauner commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

@astroboii47 now reviewing this and deciding if I want to ship it with the next nightly release or parts of it with another upcoming one

pzauner and others added 2 commits August 11, 2026 19:55
Co-authored-by: astroboii47 <aaron.kim77@gmail.com>
Co-authored-by: astroboii47 <aaron.kim77@gmail.com>
@pzauner
pzauner force-pushed the enhanced-feature-set branch from e9821c3 to 648f60b Compare August 11, 2026 18:34
@pzauner pzauner changed the title Add Enhanced keyboard feature set Add emoji shortcodes and configurable snippets Aug 11, 2026
@pzauner
pzauner marked this pull request as draft August 11, 2026 18:35
@pzauner
pzauner force-pushed the enhanced-feature-set branch 2 times, most recently from 5872f73 to 4ffcc76 Compare August 11, 2026 19:17
Co-authored-by: astroboii47 <aaron.kim77@gmail.com>
@pzauner
pzauner force-pushed the enhanced-feature-set branch from 4ffcc76 to 92a9357 Compare August 11, 2026 19:32
@pzauner
pzauner marked this pull request as ready for review August 11, 2026 19:32
@pzauner
pzauner merged commit fb2fb4e into palsoftware:main Aug 11, 2026
1 check passed
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