Describe the bug
The custom Save PNG button did not reliably capture the full plot. In Bokeh 3.8.1 the Bokeh.index object is not exposed on the global Bokeh object, so all Bokeh.index.find_one calls silently failed, resulting in an empty or blank PNG.
Root cause
The canvas_helper approach relied on intercepting Bokeh.embed.embed_items to capture view objects. This is not a stable Bokeh API and broke in Bokeh 3.8.1.
Resolution
Custom PNG save button removed entirely. The Bokeh toolbar download button (top-right of each plot) is the supported and reliable method for saving plots.
Resolved in
Commit d3a08d1
Describe the bug
The custom Save PNG button did not reliably capture the full plot. In Bokeh 3.8.1 the
Bokeh.indexobject is not exposed on the globalBokehobject, so allBokeh.index.find_onecalls silently failed, resulting in an empty or blank PNG.Root cause
The
canvas_helperapproach relied on interceptingBokeh.embed.embed_itemsto capture view objects. This is not a stable Bokeh API and broke in Bokeh 3.8.1.Resolution
Custom PNG save button removed entirely. The Bokeh toolbar download button (top-right of each plot) is the supported and reliable method for saving plots.
Resolved in
Commit d3a08d1