PhoenixLiveViewのProgress animationはNProgressからtopbarに切り替わっていた


1年以上前に行われた修正だったので、今更ではあるのですが。

elixir-desktopサンプルを動作確認していた際に、たまたま気づいたこと。

PhoenixLiveViewでプログレスバーを表示する際に利用していたJavaScriptのライブラリが、「NProgress.js」から「topbar.js」に変わっていました。
変更タイミングは、「0.15.1」からのようです。

「0.15.0」のHexDocsに書かれている「Progress animation」の説明はこちら。

f you want to show a progress bar as users perform live actions, we recommend using nprogress.
First add nprogress as a dependency in your assets/package.json:

一方、「0.15.1」のHexDocsに書かれている「Progress animation」の説明はこちら。

If you want to show a progress bar as users perform live actions, we recommend using topbar.
First add topbar as a dependency in your assets/package.json:

なお、「0.15.1」のCHANGELOGには記載はありませんでした。

切り替わったきっかけは、こちらのIssue。

nprogressは強引にブラウザのレイアウトリフローを強制しているからなんとかならんか?」的な感じの投稿が発端。
結果、いい塩梅のtopbarが選ばれて置き換えられた様子。
この対応は、Livebookの方にも横展開されていましたね。

JavaScriptを意識しないで済むようになっているPhoenixLiveViewなので、ここが変更は利用者には影響しないと思われたのでしょうかね。1

それとも、Issueの中でJose氏が発言していたように、アニメーションで全てのケースにうまくいくことは100%ないから必要なら自分たちなんとかしてね、なのかも。


  1. 実際、気がつかなかったわけですが...