Skip to content

Commit f589633

Browse files
committed
Merge branch 'fix-photo-addon-map-referer' into mm-fix-photo-addon-map-referer
2 parents 2b5efc5 + 55ef797 commit f589633

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

packages/web-app-photo-addon/src/components/PhotoMap.vue

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -486,29 +486,28 @@ function initMap() {
486486
metaReferrer.content = 'no-referrer-when-downgrade'
487487
}
488488
489-
// Tile layer with retry on 403 (transient referrer issues)
490-
const OsmTileLayer = L.TileLayer.extend({
491-
createTile(coords: any, done: any) {
492-
const tile = L.TileLayer.prototype.createTile.call(this, coords, done) as HTMLImageElement
493-
tile.referrerPolicy = 'no-referrer-when-downgrade'
494-
const originalSrc = tile.src
495-
tile.addEventListener('error', () => {
496-
// Retry once after a short delay
497-
if (!tile.dataset.retried) {
498-
tile.dataset.retried = '1'
499-
setTimeout(() => { tile.src = originalSrc }, 500)
500-
}
501-
}, { once: false })
502-
return tile
503-
}
504-
})
505-
new OsmTileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
489+
// Tile layer with referrer policy fix and retry on 403
490+
const tileLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
506491
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
507492
maxZoom: 19,
508493
keepBuffer: 2,
509494
noWrap: true,
510495
}).addTo(map)
511496
497+
// Set referrer policy on each tile and retry on failure
498+
tileLayer.on('tileloadstart', (event: L.TileEvent) => {
499+
const tile = event.tile as HTMLImageElement
500+
tile.referrerPolicy = 'no-referrer-when-downgrade'
501+
})
502+
tileLayer.on('tileerror', (event: L.TileErrorEvent) => {
503+
const tile = event.tile as HTMLImageElement
504+
if (!tile.dataset.retried) {
505+
tile.dataset.retried = '1'
506+
const src = tile.src
507+
setTimeout(() => { tile.src = src }, 500)
508+
}
509+
})
510+
512511
// Add photo markers
513512
addPhotoMarkers()
514513

0 commit comments

Comments
 (0)