Black Lives Matter. Please consider donating to Black Girls Code today.

Interactive plots lose callbacks with tabs

Hi, I’ve got a typical interactive plotting app with crossfilters on plots in multiple tabs - if I switch to plots with the exact same layout & structure on a subsequent tab, the plot interaction callbacks on the first will be lost when I switch back to it, however if I switch to a tab with layout even slightly changed (eg. just add a div in before the plot), callbacks will resume.

No callbacks (or redux actions) are fired from the javascript side when interaction is lost, so I’m assuming this is some issue in the js of dash-renderer - possibly some sort of optimisation/assumption that the plots are the same based on plot layout …?

I started by looking at Interactive graphing not working with dcc.tab, but the last comment there didnt quite replicate the bug, so I tweaked it as follows:
https://gist.github.com/nite/7b7811b2432991824edfb30c1b5a783f

I’ve also created a github issue here: