firefoxpy-shiny

Firefox shows wrong layout with Shiny for Python 1.0.0


The new Shiny for Python 1.0.0 seems to be incompatible with Firefox. I made this dummy app:

from shiny import App, render, ui, reactive
from pathlib import Path


app_ui = ui.page_fillable(
    ui.panel_title(
        ui.row(
        ui.column(6, ui.h1("title1")),
        ui.column(6, ui.h1("title2"))
        )
    ),
    ui.layout_sidebar(
        ui.sidebar(
            ui.input_text("input_text1", "input_text1", value=""),
            ui.input_text("input_text2", "input_text2", value=""),
            ui.input_text("input_text3", "input_text3", value=""),
            ui.input_text("input_text4", "input_text4", value=""),
            ui.input_text("input_text5", "input_text5", value=""),

            ui.input_selectize("input_selectize1", "input_selectize1", choices=["1", "2"]),
            ui.input_numeric("input_numeric1", "input_numeric1", value=4),
            ui.input_numeric("input_numeric2", "input_numeric2", value=8),
            ui.input_numeric("input_numeric3", "input_numeric3", value=20),
            ui.input_selectize("input_selectize2", "input_selectize2", choices=["3", "4", "5"]),
            ui.input_numeric("input_numeric4", "input_numeric4", value=1),
            ui.input_numeric("input_numeric5", "input_numeric5", value=1),
            ui.input_switch("input_switch1", "input_switch1", value=False),
            ui.input_switch("input_switch2", "input_switch2", value=False),
            ui.input_switch("input_switch3", "input_switch3", value=False),
            ui.input_action_button("input_action_button1", "input_action_button1"),
            ui.input_action_button("input_action_button2", "input_action_button2", disabled=True),
            width="350px"
        ),
        ui.layout_columns(
            ui.card(
                ui.card_header("card_header1"),
                ui.output_data_frame("card1"),
                full_screen=True
            ),
            ui.card(
                ui.card_header("card_header2"),
                ui.output_data_frame("card2"),
                full_screen=True
            ),
            col_widths=[12, 12]
        )
    )
)


def server(input, output, session):

    @reactive.event(input.input_action_button1)
    def reactive_function1():
        pass

    @output
    @render.data_frame
    def card1():
        return reactive_function1()

    @output
    @render.data_frame
    def card2():
        pass

    @reactive.effect
    @reactive.event(input.write_guides)
    def reactive_function2():
        return reactive_function1()

src_dir = Path(__file__).parent / "src"
app = App(app_ui, server, static_assets=src_dir)

Then I started it and opened it with Safari (left) and Firefox (right).

With Shiny for Python 0.10.2 both browsers seem fine: Bildschirmfoto 2024-07-26 um 21 16 03

But as soon as I switch to Shiny for Python 1.0.0, Firefox fails, but Safari is still able to display: Bildschirmfoto 2024-07-26 um 21 15 10

Not sure, if this is of any use, but I can "expand" the sidebar in Firefox leading to this: Bildschirmfoto 2024-07-26 um 21 15 21

Any ideas, what's wrong? Can I fix this in my code or does this need to be fixed by the devs?

EDIT: This is a cross-post from GitHub


Solution

  • I had to delete the Firefox cache and website setting and now it's working.