feat(composer): back-fill custom-emoji files when expanding the input
Expanding the composer into the article editor now resolves custom-emoji files that ChatInputContent carries only by fileId, via the new async documentMediaAndEmojiAsync (local sticker cache, engine.stickers.resolveInlineStickersLocal). openExpandedInput runs inside a MainActor Task to await it, so a custom emoji no longer renders blank / gets dropped on collapse-back. Documented in docs/richtext-composer.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
I
isaac committed
d6a001cdde48502d668df8515ad9acaa32e857d7
Parent: f252c42