Skip to content

Unexpected q.args for multi- or broadcast #1705

Closed
@Far0n

Description

@Far0n

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()

Metadata

Metadata

Assignees

Labels

bugBug in codeserverRelated to server

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions