Skip to content

gpuicn v0.7.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 10:42
· 40 commits to main since this release
8129d3e

gpuicn v0.7.0

This release closes the gaps Matty found in the chat components, and adds a
composer, an emoji picker and a lightbox. Runtime pins are unchanged from
v0.6.0: GPUI Kit 0.8.1 on gpui-pre 0.3.10, and gpui-icons 0.5.0.

New components

  • Composer: a growing message box. Enter sends and Shift+Enter adds a
    line. It can read and set the selection, insert at the caret, wrap a
    selection, report the caret's rectangle, and tell when an input method is
    composing. Key and paste hooks run before the editor, so the app can claim
    pasted images and files. @, ~, : and / open an autocomplete popup
    above the trigger, filled with suggestions from the app.
  • Emoji Picker: search from two characters, category tabs, a virtualized
    grid with keyboard navigation, skin tones, and frequently used, recently
    used and custom emoji supplied by the app. It reports the picked shortcode.
  • Lightbox: a full-window image viewer with zoom, pan, previous and next
    from the keyboard and mouse, caller toolbar actions and focus return.

Changes to existing components

  • Message: reaction chips can show a custom emoji image and a who-reacted
    tooltip (reaction_tooltip takes any view). There is a new
    MessageHighlight::Permalink and a per-row aria_description.
  • Message List: an opt-in keyboard selection mode (track_focus,
    selected, on_select, selectable, on_key).
  • Markdown: selection_root mounts window text selection, so a drag
    selects across messages and Cmd+C or Ctrl+C copies it. CustomEmoji draws
    inline emoji images at text height, and MarkdownImages sends every image
    through the app's resolver.
  • Command: set_leading and set_trailing slots, for avatars and unread
    badges.

Every image slot takes an ImageSource from the app; gpuicn never fetches.

Upgrading

Message now depends on Tooltip in the registry. Copied-source apps should run
gpuicn diff, then gpuicn add message --overwrite (which brings in
tooltip), before adding the new components. Without selection_root,
Markdown in a gpuicn app can't be selected.