Lsp warnings on latest release of liveview

I’ve updated all my deps to the latest version of live_view and phoenix, but now I see these lsp diagnostics in all my components:

Phoenix.LiveView.TagEngine.component/3 defined in application :phoenix_live_view is used by the current application but the current application does not depend on :phoenix_live_view. To fix this, you must do one of:
  1. If :phoenix_live_view is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs
  2. If :phoenix_live_view is a dependency, make sure it is listed under "def deps" in your mix.exs
  3. In case you don't want to add a requirement to :phoenix_live_view, you may optionally skip this warning by adding [xref: [exclude: [Phoenix.LiveView.TagEngine]]] to your "def project" in mix.exsElixir

does anyone have an idea if I need to clean something up or if something else might be wrong?

2 Likes

I’ve seen this while using umbrella mode. Same with you?

No, regular project

I’m also seeing this warning but it seems to be happening on VSCode only (at least for me). I have a regular project and it’s compiling fine (the entire CI pipeline is actually running fine after the update) but, for some reason, VSCode it’s not playing with VSCode.

I’ve tried to restart VSCode, reload the window, restart the language server, nuke _build and deps, reinstall dependencies and recompile, but nothing worked.

Btw, this issue doesn’t seem to happen on a new project, only on an existing one.

I managed to “fix” it by accident: I deleted a line of code from one of the files where VSCode was giving me this warning and saved that file. The warnings were gone. I added that line back and the warnings didn’t come back.

I’ve done the same for all files where I had this warning. It worked for all of them. I’ve tried restarting VSCode, reloading window, and restarting the language server to see if the warnings would show up again but they didn’t (so far).

I have no idea why this fixes it, though. I guess this is a weird caching issue somewhere.

The language server also caches things in .elixir_ls - you’ll want to remove that folder any time you’re removing _build to avoid weird ghosts like what you encountered.

2 Likes

Good point! I think I didn’t do that before. Btw, I got rid of this warning for the remaining files by running the Elixir: Trigger mix clean --deps in language server command and, then, running Elixir: Restart language server again.