You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fromloguruimportloggerfromshinyimportApp, Inputs, Outputs, Session, module, uifromstarlette.requestsimportRequest# App UI **must** be a function to ensure that each user restores their own UI values.defapp_ui(request: Request):
returnui.page_fluid(
ui.markdown(
"Directions: ""\n1. Change the radio button selection below""\n2. Save the bookmark.""\n3. Then, refresh your browser page to see the radio button selection has been restored."
),
ui.hr(),
inputs_ui("inputs_module"),
)
@module.uidefinputs_ui():
returnui.TagList(
ui.input_radio_buttons("letter", "Choose a letter", choices=["A", "B", "C"]),
ui.input_bookmark_button(label="Save bookmark!"),
)
@module.serverdefinputs_server(input: Inputs, output: Outputs, session: Session):
@session.bookmark.on_bookmarkedasyncdef_on_bookmark(url: str):
logger.debug("Bookmarking...")
logger.debug(f"{url=}")
awaitsession.bookmark.update_query_string(url)
updated_url=awaitsession.bookmark.get_bookmark_url()
logger.debug(f"{updated_url=}")
awaitsession.bookmark.show_bookmark_url_modal()
defserver(input: Inputs, output: Outputs, session: Session):
inputs_server("inputs_module")
app=App(app_ui, server, bookmark_store="url")
Behavior
bookmarks-dont-work.mp4
In contrast, when not using modules, it does work.
bookmark-works.mp4
fromloguruimportloggerfromshinyimportApp, Inputs, Outputs, Session, uifromstarlette.requestsimportRequest# App UI **must** be a function to ensure that each user restores their own UI values.defapp_ui(request: Request):
returnui.page_fluid(
ui.markdown(
"Directions: ""\n1. Change the radio button selection below""\n2. Save the bookmark.""\n3. Then, refresh your browser page to see the radio button selection has been restored."
),
ui.hr(),
ui.input_radio_buttons("letter", "Choose a letter", choices=["A", "B", "C"]),
ui.input_bookmark_button(label="Save bookmark!"),
)
defserver(input: Inputs, output: Outputs, session: Session):
@session.bookmark.on_bookmarkedasyncdef_on_bookmark(url: str):
logger.debug("Bookmarking...")
logger.debug(f"{url=}")
awaitsession.bookmark.update_query_string(url)
updated_url=awaitsession.bookmark.get_bookmark_url()
logger.debug(f"{updated_url=}")
awaitsession.bookmark.show_bookmark_url_modal()
app=App(app_ui, server, bookmark_store="url")
Component
Other
Severity
P0 - Critical (crash/unusable)
Shiny Version
1.4.0
Python Version
3.13.2
Minimal Reproducible Example
Behavior
bookmarks-dont-work.mp4
In contrast, when not using modules, it does work.
bookmark-works.mp4
Error Messages (if any)
Environment
The text was updated successfully, but these errors were encountered: