Add {Phoenix.PubSub, name: WebInterface.PubSub} to lib/application.ex
Inside web_interface folder mix setup
mix assets.deploy
iex -S mix phx.server
After this last command I am then greeted with:
λ iex -S mix phx.server
03:18:31.953 [info] Running WebInterface.Endpoint with cowboy 2.10.0 at 127.0.0.1:4000 (http)
03:18:32.039 [info] Access WebInterface.Endpoint at http://localhost:4000
[watch] build finished, watching for changes…
Interactive Elixir (1.14.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Browserslist: caniuse-lite is outdated. Please run:
npx update-browserslist-db@latest
Why you should do it regularly: GitHub - browserslist/update-db: CLI tool to update caniuse-lite to refresh target browsers from Browserslist config
iex(1)>
iex(1)> Rebuilding…
iex(1)>
iex(1)> Done in 476ms.
iex(1)>
Which outside of the warning for an outdated package, raises nothing to indicate that a step is missing/failed.
However, when I login into localhost:4000, I see this:
Turns out this is a bug with the mix task, it simply generates the wrong code for umbrella phoenix apps:
With the help of the wonderful people at Elixir’s Discord chat, we raised this ticket.
Hopefully, it will eventually be fixed.
In the meantime, if you are creating a Phoenix umbrella app, you can try the theoretical workaround provided in the ticket created. However, since I am not sure this is the way the Phoenix team is going to go with fixing this, I would personally still wait for their fix, or at least for confirmation they are going to implement it this way.