diff --git a/lib/livebook_web/live/home_live.ex b/lib/livebook_web/live/home_live.ex index df129074e..232a7d4b6 100644 --- a/lib/livebook_web/live/home_live.ex +++ b/lib/livebook_web/live/home_live.ex @@ -25,7 +25,9 @@ defmodule LivebookWeb.HomeLive do file_info: %{exists: true, access: :read_write}, sessions: sessions, notebook_infos: notebook_infos, - page_title: "Livebook" + page_title: "Livebook", + app_service_url: Livebook.Config.app_service_url(), + memory: Livebook.SystemResources.memory() )} end @@ -39,6 +41,7 @@ defmodule LivebookWeb.HomeLive do
+ <.memory_notification memory={@memory} app_service_url={@app_service_url} />
@@ -104,7 +107,7 @@ defmodule LivebookWeb.HomeLive do <% end %>
-
+
<.live_component module={LivebookWeb.HomeLive.SessionListComponent} id="session-list" sessions={@sessions}/> @@ -154,6 +157,23 @@ defmodule LivebookWeb.HomeLive do end end + defp memory_notification(assigns) do + ~H""" + <%= if @app_service_url && @memory.free < 30_000_000 do %> +
+ + <.remix_icon icon="alarm-warning-line" class="text-xl mr-2" /> + + Less than 30 MB of memory left, consider adding more resources to + the instance + or closing running sessions. + + +
+ <% end %> + """ + end + @impl true def handle_params(%{"session_id" => session_id}, _url, socket) do session = Enum.find(socket.assigns.sessions, &(&1.id == session_id))