Closed
Description
Wave SDK Version, OS
wave 0.23.1, ubuntu 18.04
Actual behavior
chrome_IUQ5YWB72Q.mp4
Presence of textbox
in q.args is inconsistent across browser tabs. This also happens with mode "broadcast" and if q.app is used instead of q.user to manage the app-state.
Expected behavior
Presence of textbox
in q.args is to be expected consistent across browser tabs.
Steps To Reproduce
Use the following app in 2 browser tabs as shown in the video above:
from h2o_wave import Q, app, main, ui # noqa F401
@app("/", mode="multicast")
async def serve(q: Q):
print(f"q.args: {q.args}")
if not q.user.inited:
q.page["meta"] = ui.meta_card(box="", title="WaveApp")
q.user.inited = True
q.user.form2 = False
if q.args["click_me"]:
q.user.form2 = not q.user.form2
q.page["form1"] = ui.form_card(
box="1 1 1 1", items=[ui.button(name="click_me", label="click me")]
)
if q.user.form2:
q.page["form2"] = ui.form_card(
box="1 2 3 2", items=[ui.text(f"q.args: {q.args}"), ui.textbox(name="textbox", value="some_value")]
)
else:
del q.page["form2"]
await q.page.save()