Weird interaction between holoviews , param and bokeh

Hi, making a web app with panel, I found some weird interaction between param and a plot rasterized with datashader.

Here is a toy example :

import holoviews as hv
from holoviews.operation.datashader import datashade
import panel as pn
import param

class App_debug(param.Parameterized):
    button = param.Action(lambda x : x.param.trigger('button'))

    def __init__(self,**params):
	    super().__init__(**params)
	    self.plot=datashade(hv.Curve([[0,0],[1,1]]))


    def view(self):
	    return self.plot

viewer=App_debug()

pn.Row(viewer.view,viewer.Param(viewer.param)).show()

Expected behaviour (here without datashader) :
Since the view() function depends on all the parameters, a clic on the button will reload the view (reset the plot)

expected

Interaction :
With datashader, the button does not reset completly the view. It resets the tools and makes a sort of snapshot of the current state of the curve. Then when using the reset button, the server won’t load the original state, but will set the curve at the state it had when the button was activated.

interaction

I think it’s a bug but I don’t know if it comes from panel, param, bokeh or holoviews.