The Wire · Showcase
PHOENIX LIVE VIEW PATCHES CLIENT NAVIGATION, ELIXIR CLEANS UP MAP FETCH INTERNALS
By RepoJournal · Filed · About Elixir & Phoenix
Phoenix Live View shipped five structural improvements overnight, from cancellable client-side navigation to diagnostic namespacing, while Elixir's core team refactored map fetch code to eliminate duplication.
Phoenix Live View's latest wave addresses both developer experience and component rendering edge cases. The headline move is a new `phx:before-navigate` event that lets you cancel client-side live navigation [1], closing a long-standing request. Separately, Live View now handles keyed roots correctly when patching live components [3], fixing a regression that broke nested component updates. Form handling got smarter too: developers can now opt focused form elements into patching with `phx-patch-focused` [5], solving the problem where custom form elements wouldn't update during patches. On the observability front, diagnostics got restructured with clearer namespacing [2], renaming events like `view.join-failed` to `view.join-failed` and `view.network.join-timeout` to separate network concerns from internal invariants. Meanwhile in Elixir core, a focused refactor eliminated duplicate map-splitting logic in the fetch code [4], reducing redundant list rebuilds. Calendar documentation also got clarified [6] and `Kernel.ParallelCompiler.pmap` now has full type specs [7]. Dependencies also received a routine bump [8]. This is the kind of invisible infrastructure work that pays dividends: smoother navigation flows, more predictable component patching, and tighter internals.
One email a day. Unsubscribe in one click.
Keep up with Elixir & Phoenix in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Test the new phx:before-navigate event in your live navigation flows to block unwanted transitions phoenixframework/phoenix_live_view [plan]
- → Update to latest Phoenix Live View to fix keyed root patching in nested live components phoenixframework/phoenix_live_view [plan]
- → Review diagnostic event names if you're monitoring live view telemetry - namespacing has shifted phoenixframework/phoenix_live_view [monitor]
References
- [1] Allow cancelling client-side live navigation ↗ phoenixframework/phoenix_live_view
- [2] Namespace diagnostics ↗ phoenixframework/phoenix_live_view
- [3] Handle keyed root when patching live components ↗ phoenixframework/phoenix_live_view
- [4] Fix none handling + map fetch rewrite ↗ elixir-lang/elixir
- [5] Allow opting focused form elements into patching ↗ phoenixframework/phoenix_live_view
- [6] Fix Calendar docs wordings and clarify (#15684) elixir-lang/elixir
- [7] Add specs to Kernel.ParallelCompiler.pmap (#15683) elixir-lang/elixir
- [8] update dependencies ↗ phoenixframework/phoenix_live_view