LiveViewNative compilation error: (CaseClauseError) no case clause matching: :text

Hey!

I can’t get LiveViewNative running :weary: the following error pops up when running mix.

== Compilation error in file lib/live_view_native/component.ex ==
** (CaseClauseError) no case clause matching: :text
    (phoenix_live_view 1.0.4) lib/phoenix_live_view/tokenizer.ex:117: Phoenix.LiveView.Tokenizer.tokenize/5
    lib/live_view_native/tag_engine.ex:33: LiveViewNative.TagEngine.handle_text/3
    (eex 1.17.3) lib/eex/compiler.ex:317: EEx.Compiler.generate_buffer/4
    expanding macro: LiveViewNative.Component.sigil_LVN/2
    lib/live_view_native/component.ex:315: LiveViewNative.Component.csrf_token/1
could not compile dependency :live_view_native, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile live_view_native --force", update it with "mix deps.update live_view_native" or clean it with "mix deps.clean live_view_native"

I’m running the latest versions of everything.

Thank you!

:wave:

Might be related: Track braces state in tokenizer, closes #3613 · phoenixframework/phoenix_live_view@603c8ec · GitHub

Maybe lowering phoenix_live_view version to 1.0.1 would make it work?


Also it might make sense to open an issue on GitHub - liveview-native/live_view_native: A framework for building native applications with Phoenix LiveView since they might need to update something to adapt to that {:text, braces} phoenix_live_view commit.

UPDATE: Ah, maybe they already have: LiveView 1.0.2 · liveview-native/live_view_native@ebaa67b · GitHub – are you certain you are using the latest live_view_native?

2 Likes

Oh I see, downgrading to 1.0.1 does work. I’m using the live_view_native versions mentioned in the readme

  live_view_native 0.4.0-rc.0
  live_view_native_live_form 0.4.0-rc.0
  live_view_native_stylesheet 0.3.2
  live_view_native_swiftui 0.4.0-rc.0

but it’s behind main, so I don’t have the commit you linked. Anyhow, this solves the issue, thanks a lot!

1 Like

it didn’t help me i tried all 1.o.o 1.o.1 and 1.o.2 still getting the same error as when i have 1.0.4

== Compilation error in file lib/live_view_native/component.ex ==
** (CaseClauseError) no case clause matching: :text
(phoenix_live_view 1.0.4) lib/phoenix_live_view/tokenizer.ex:117: Phoenix.LiveView.Tokenizer.tokenize/5
lib/live_view_native/tag_engine.ex:33: LiveViewNative.TagEngine.handle_text/3
(eex 1.17.3) lib/eex/compiler.ex:317: EEx.Compiler.generate_buffer/4
expanding macro: LiveViewNative.Component.sigil_LVN/2
lib/live_view_native/component.ex:315: LiveViewNative.Component.csrf_token/1
could not compile dependency :live_view_native, “mix compile” failed. Errors may have been logged above. You can recompile this dependency with “mix deps.compile live_view_native --force”, update it with “mix deps.update live_view_native” or clean it with “mix deps.clean live_view_native”

defp deps do
    [
      {:httpoison, "~> 1.8"},
      {:bcrypt_elixir, "~> 3.0"},
      {:phoenix, "~> 1.7.20"},
      {:phoenix_ecto, "~> 4.4"},
      {:ecto_sql, "~> 3.10"},
      {:postgrex, ">= 0.0.0"},
      {:phoenix_html, "~> 4.0"},
      {:phoenix_live_reload, "~> 1.4", only: :dev},
      {:phoenix_live_view, "~> 1.0.4"},
      {:floki, ">= 0.36.0", only: :test},
      {:phoenix_live_dashboard, "~> 0.8.3"},
      {:esbuild, "~> 0.8", runtime: Mix.env() == :dev},
      {:tailwind, "~> 0.2", runtime: Mix.env() == :dev},
      {:heroicons,
       github: "tailwindlabs/heroicons",
       tag: "v2.1.1",
       sparse: "optimized",
       app: false,
       compile: false,
       depth: 1},
      {:swoosh, "~> 1.5"},
      {:finch, "~> 0.13"},
      {:telemetry_metrics, "~> 0.6"},
      {:telemetry_poller, "~> 1.0"},
      {:gettext, "~> 0.20"},
      {:jason, "~> 1.2"},
      {:dns_cluster, "~> 0.1.1"},
      {:bandit, "~> 1.2"},
      {:timex, "~> 3.7"},
      {:phoenix_html_helpers, "~> 1.0"},
      {:live_view_native, "~> 0.4.0-rc.0"},
      {:live_view_native_stylesheet, "~> 0.3.2"},
      {:live_view_native_swiftui, "~> 0.4.0-rc.0"},
      {:live_view_native_live_form, "~> 0.4.0-rc.0"},
    ]
  end

only after i made it strict to 1.0.1 it worked Strange
{:phoenix_live_view, “== 1.0.1”},

Can you post results of mix deps.tree (without this new change). Is it possible that some other dependency forced some specific version?

1 Like