Tile cache names included CACHE_VERSION, and activation deletes caches
whose names are not current, so every release threw away every tile
officers had downloaded for field work.
Tile caches now carry their own TILE_CACHE_VERSION, frozen at v24 so
devices on v24 keep their tiles untouched. Tiles in any older tile cache
(including the legacy tiles-v1 bucket) are moved into the current
per-provider caches instead of deleted: nothing current is overwritten,
limits are respected, and the old cache is removed only after a
successful copy. Keyless Carto and Google tiles are not carried over.
Old shell/modules/api caches are still deleted, and clients are claimed
before the tile move so the page is not held up.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>