Mapbox custom raster tiles not updating

Hi all,
I am having a problem with displaying custom tiles in choroplethmapbox map.
my stack:

dash: 2.7.0
dash-core-components: 2.0.0
dash-html-components: 2.0.0

my base map uses the USGS tile server as in this example.

If the user selects it I add another XYZ tile layer, this time from a custom server I deployed (the url is something like https://my_server/singleband/jacksonville/01/height/31/{z}/{x}/{y}.png?colormap=inferno). the tile is displayed correctly and my layout_mapbox shows as follows:

'mapbox': {'center': {'lat': 30.39901785203827, 'lon': -81.54238950314415},
                          'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},
                          'layers': [{'below': 'traces',
                                      'source': [{z}/{y}/{x}],
                                      'sourcetype': 'raster'},

                                     {'below': 'traces',
                                      'source': [https://my_server/single
                                      'sourceattribution': 'ReoR20',
                                      'sourcetype': 'raster'}],
                          'style': 'white-bg',
                          'zoom': 12.5},

The problem comes when the user chooses other tiles from my server.
So when I change the second element of the list (through a callback) to โ€œhttps://my_server/singleband/jacksonville/01/height/48/{z}/{x}/{y}.png?colormap=infernoโ€ I expect the tile to change but nothing new appears and from then on I just am able to see the first tile I requested and nothing more. I have confirmed that the new url shows up in the figure dictionary, so it does get updated, but it seems nothing new is actually requested

The problem seems similar to this which appears to be solved .

Is there a way to refresh tiles manually ? Am I doing anything wrong?

Extra question, does dash leaflet handle xyz tiles?


EDIT: Reading better the last link I posted it seems that the issue has to do with how dcc.Store works and to change the id of the figure in dcc.Store. Can somebody explain how to do that in python?


I just checked with the server logs. Indeed the first time the callback is fired the server receives a request. From the second time on no request are received by the server, indeed it seems that mapbox is not actually requesting a new tile after the first time