fix(maps): transformRequest proxies ALL OFM requests through /ofm/ - #178
Merged
Conversation
fetchResolvedStyle rewrites URLs in the style object but MapLibre still makes its own fetches for TileJSON (when url is present on a vector source), glyphs, and sprites — bypassing the proxy and hitting the broken Singapore CDN edge directly. transformRequest intercepts EVERY URL MapLibre dispatches (including from tile Web Workers) and rewrites tiles.openfreemap.org/* to goodwebtools.com/ofm/*, ensuring all OFM traffic goes through our Cloudflare Worker regardless of what the style object contains. This is the definitive safety net for the blank map bug. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root cause (confirmed via Network tab)
Only
ne2_shadedPNG raster tiles appear in the Network tab — zero PBF tile requests.fetchResolvedStylerewrites the style object, but when it leaves aurlfield on theopenmaptilesvector source (TileJSON fetch failure fallback), MapLibre does its own TileJSON fetch and gets tile URLs pointing directly totiles.openfreemap.org— bypassing our proxy and hitting the broken Singapore CDN edge.Fix
Add
transformRequestto the MapLibre map instance. This intercepts every network request MapLibre makes — TileJSON, vector/raster tiles, glyphs, sprites, including requests dispatched from tile Web Workers — and rewrites anytiles.openfreemap.org/*URL togoodwebtools.com/ofm/*before the request is made.This is the definitive fix: it works regardless of whether
fetchResolvedStylesuccessfully rewrites the style object.🤖 Generated with Claude Code