The Wire · Showcase
EMOJI HANDLING BUG FIXED IN LIVEVIEW, ECTO SUBQUERY ORDER CORRECTED
By RepoJournal · Filed · About Elixir & Phoenix
Phoenix LiveView's HTMLFormatter was mangling multi-codepoint emojis in templates, and Ecto's query builder had subquery ordering issues - both now fixed.
Phoenix LiveView shipped a fix for a subtle but nasty bug where the HTMLFormatter was inserting extra characters when templates contained multi-codepoint emojis like the warning symbol ⚠️ [1]. The problem traced back to changes in #2112 that introduced byte-level arithmetic for preserving content in tags, which worked fine for ASCII text but failed when emojis took up more bytes than codepoints [2]. The fix replaces custom newline handling with binary pattern matching and updates line offset calculations to use binary operations instead of codepoint counting. This is the kind of edge case that slips through code review until someone ships a template with an emoji and watches formatting break in production. In the Ecto world, the query builder had its own ordering issue with subqueries [3] [4], now resolved. Neither of these are show-stoppers, but they're the kind of fixes that prevent silent failures in your templates and queries.
Action items
- → Update phoenix_live_view if you use emojis or special characters in LiveView templates phoenixframework/phoenix_live_view [plan]
- → Update ecto if you're building complex queries with subqueries elixir-ecto/ecto [plan]
References
- [1] Fix HTMLFormatter inserting extra characters in templates with multi-codepoint emojis (#4322) phoenixframework/phoenix_live_view
- [2] Fix HTMLFormatter inserting extra characters in templates with multi-codepoint emojis ↗ phoenixframework/phoenix_live_view
- [3] Fix subquery order in query builders ↗ elixir-ecto/ecto
- [4] Fix subquery order in query builders (#4745) elixir-ecto/ecto
FAQ
- What changed in Elixir & Phoenix on July 6, 2026?
- Phoenix LiveView's HTMLFormatter was mangling multi-codepoint emojis in templates, and Ecto's query builder had subquery ordering issues - both now fixed.
- What should Elixir & Phoenix teams do about it?
- Update phoenix_live_view if you use emojis or special characters in LiveView templates • Update ecto if you're building complex queries with subqueries
- Which Elixir & Phoenix repositories shipped on July 6, 2026?
- phoenixframework/phoenix_live_view, elixir-ecto/ecto