Stipple: ReactiveModel type Name has no field channel__

Using the HelloStipple example (or any other), I get the following error when trying to run it. Additionally, there is a warning that the init method used is deprecated, but I cannot find any documentation of the updated method, unless I missed it somewhere?

[ Info: Precompiling StippleUI [a3c5d34a-b254-4859-a8fa-b86abb7e84a3]
┌ Warning: Module Genie with build ID 1914804180495427 is missing from the cache.
│ This may mean Genie [c43c736e-a2d1-11e8-161f-af95117fbd1e] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1030
[ Info: Skipping precompilation since __precompile__(false). Importing StippleUI [a3c5d34a-b254-4859-a8fa-b86abb7e84a3].
┌ Warning: This method has been deprecated and will be removed soon. Please use `init(m::Type{M}, kwargs...)` instead.
└ @ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:769
ERROR: LoadError: type Name has no field channel__
Stacktrace:
 [1] setproperty!(x::Name, f::Symbol, v::String)
   @ Base ./Base.jl:34
 [2] init(m::Type{Name}; vue_app_name::String, endpoint::String, channel::Nothing, debounce::Int64, transport::Module, parse_errors::Bool, core_theme::Bool)
   @ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:720
 [3] init
   @ ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:710 [inlined]
 [4] init(m::Name; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:770
 [5] init(m::Name)
   @ Stipple ~/.julia/packages/Stipple/v7V2w/src/Stipple.jl:769
 [6] top-level scope
   @ ~/Code/projects/stippledemo/StippleDemos/testexamples/teste.jl:9
in expression starting at /Users/markus/Code/projects/stippledemo/StippleDemos/testexamples/teste.jl:9

HelloStipple example

using Stipple, StippleUI

# Stipple's ReactiveModel with name field which is mapped to frontend input
# i.e. julia can access name's data in backend
Base.@kwdef mutable struct Name <: ReactiveModel
  name::R{String} = "Stipple!"
end

hs_model = Stipple.init(Name())

function ui()
  [
    page(
      vm(hs_model), class="container", title="Hello Stipple", partial=true,
      [
        row(
          cell([
            h1([
              "Hello, "
              span("", @text(:name))
            ])

            p([
              "What is your name? "
              input("", placeholder="Type your name", @bind(:name)) # bind is a replacement to vuejs's v-model
            ])
          ])
        )
      ]
    )
  ] |> html
end

route("/", ui)

Thanks!

I’ve hit the same problem.

I’ve opened an issue: Version 0.19.2: examples does not work · Issue #80 · GenieFramework/Stipple.jl · GitHub

I’ve posted there a possible workaround, but I’m not sure it is the right solution …

ciao, Attilio