This commit lets you customize Livebook shutdown to gracefully power
off. One use case is for Nerves-based devices that need to do more than
call `System.stop/0` to power off.
This doesn't change the `LIVEBOOK_SHUTDOWN_ENABLED` environment
variable. It still works the same.
The `:shutdown_enabled` configuration is now `:shutdown_callback`. Valid
values are `nil` or an MFA. An unset or `nil` callback hides the
shutdown button in the UI.
On Windows we have erl.exe in two directories: OTP/bin/erl.exe and
OTP/erts-VSN/bin/erl.exe. The executable is identical but what is
different is the latter, the erts one, contains erlexec.dll which needs
to be present for the VM to start.
Interestingly, regardless of OS, the erl[.exe] executable always
prepends the OTP/erts-VSN/bin and OTP/bin directories to the PATH:
iex> System.get_env("PATH") |> String.split(":") |> Enum.take(2)
["/Users/wojtek/.asdf/installs/erlang/25.1.2/erts-13.1.2/bin",
"/Users/wojtek/.asdf/installs/erlang/25.1.2/bin"]
Manually prepending the erts bin directory to the PATH, which makes the
erl.exe that is to be launched to be the erts one, fixed the issue.
Summary of changes:
- Vendor OTP at: rel/vendor/otp
- Remove rel/vendor/otp/lib/*/src
- Include /usr/local/bin in $PATH. This is not there by default and that's where homebrew (on x86_64) installs things so it should make it easier to build some packages with NIFs.
* Delete secrets from sidebar
* Collapsible secret detail
* Secret details layout
* Secret details layout adjustments
* Hover and text color for secret details
* Changes switch_button colors to have more contrast
* small adjustment
* Uses remove and add class everywhere
* Uses JS.toggle