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.
1. Add `:event_handler` app option. It is a process that will receive
the app events, the `:open_app`, `{:open_url, url}`, and
`{:open_file, path}` messages.
2. Add `AppBuilder.init/0`. This reads the `APP_BUILDER_INPUT` env
variable which contains the app event the release was started with.
3. Use <https://github.com/wojtekmach/otp/tree/wm-WX_MACOS_NON_GUI_APP>
branch which contains wx fix that hasn't been merged yet.
1. Replace `mix release mac_app|mac_app_dmg|windows_installer` with a single `mix release app`
2. Extract templates (Launcher.swift, Launcher.vbs, etc) into separate
files in app_builder/lib/templates
3. Don't verify vc_redist.x64.exe checksum as the Microsoft publishes
new releases on the same URL
Since we're building our own OTP for Mac, the idea was not to
accidentally building agains something we happen to be testing at the
moment, like the latest RC. This check turned out to be a little bit
too annoying in practice though. We plan to automate builds on CI
in the near future so we wouldn't need it the anyway.
Closes#1177
* Run in interactive mode: it uses less memory and improves
boot time, which is the most desired properties for a dev tool
* Do not use releases/cookie, instead generate one on boot
* Introduce file system abstraction and an S3 implementation
* Support arbitrary absolute paths and delegate resolution to file system
* Remove accidental notebook file
* Apply suggestions from code review
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Apply review comments
* Add missing path assertions
* Apply review comments
* Fix test saving notebook in project root
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update phoenix deps
* Update reference to LiveDashboard encode_pid
* Fix form input id references
* Move to HEEx
* Update back to filesystem LV npm package
* Further HEEx rewrites
* Refactor icons into function components
* .html.leex -> .html.heex
* Further refactoring
* Move render helpers into function components
* Add doctype back
* Further refactoring
* Refactor cell component
* Further refactoring
* Compose sidebar using function components
* Rewrite notebook card component as function component
* Fruther refactoring
* Fix race condition in runtime tests
* Rewrite tooltips into function component
* Update Tailwind purge rules
* Revert "Rewrite tooltips into function component"
This reverts commit bd6ca8f0b5.
* Refactor conditional tooltip
* Setup Docker image with releases
* Support ip env variable and use it for Docker deployment
* Autofocus auth forms
* Rename ip env var
* Update option lists
* Make distribution cookie configurable
* Update README.md
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Include git in the final image
* Remove unnecessary build dependency
* Improve file permissions handling and add more comments
* Use namespaced home directory
* Update README with all running options
* Update base image
* Reference official Docker image in the README
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Set up importing notebook from URL or clipboard
* Extract loading functions into separate module
* Replace import icon with text
* Add TLS peer verification
* Remove unnecessary tests setup step
* Limit module result to a single line
* Add introductory notebook to get started with
* Don't show tooltip on focused elements
* Update lib/livebook/notebook/hello_livebook.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook/notebook/hello_livebook.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update lib/livebook/notebook/hello_livebook.ex
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Update notebook settings reference
* Add note on package authors
* Add tests
* Update Phoenix version to git master
Co-authored-by: José Valim <jose.valim@dashbit.co>
* Add section insertion button
* Add shortcut for inserting section
* Pass buttons to the component
* Add mix alias for running both formatter
* Adjustments
* Make the buttons group component stateless
* Set up Escript packaging
* Use MD5 digest sa ETAG
* Make sure changes to the static files recompile the relevant module
* Manually start the application in Escript
* Set up basic CLI
* Run formatter
* Start Elixir app before anything else
* Improve version output
* Build Escript to project root directory
* Improve assets handling
* Move plug related modules under plugs directory
* Include bundled assets in the repository
* Use the same plug with different static providers in prod and dev
* Refactor providers
* Rename StaticProvidedPlug to StaticPlug
* Initial file import/export
* Add renderer tests
* Refactor renderer
* Depend only on EarmarkParser
* Add test for export
* Add import tests
* Improve import
* Document the ExMd file format
* Rename ExMd to ExMarkdown
* Rename ExMarkdown to LiveMarkdown
* Build iodata when exporting a notebook
* Persist metadata as a single JSON object
* Move Markdown to LiveMarkdown.MarkdownHelpers
* Make LiveMarkdown private
* Always move primary heading to the top during import
* Hint the user not to use heading 1 and 2
* Return a list of messages from the import function
* Update headings warning
* Add import and export test for non-elixir snippets
* Merge markdown renderer into MarkdownHelpers
* Add import messages on AST rewrites