Skip to content

Restore MapsFactory::getLeafletLayerDefinitions(), removed in 14.0.0 - #937

Merged
JeroenDeDauw merged 1 commit into
masterfrom
restore-leaflet-layer-definitions-accessor
Aug 31, 2026
Merged

Restore MapsFactory::getLeafletLayerDefinitions(), removed in 14.0.0#937
JeroenDeDauw merged 1 commit into
masterfrom
restore-leaflet-layer-definitions-accessor

Conversation

@kghbln

@kghbln kghbln commented Aug 30, 2026

Copy link
Copy Markdown
Member

Fixes #936

Maps 13.1.0 added the accessor together with the $egMapsLeafletLayerDefinitions setting (#921). The Semantic Result Formats filtered format resolves custom layer names in its map view layers parameter through it, guarded by method_exists() so Maps stays an optional dependency. 14.0.0 removed the accessor, so on 14.x the guard fails and custom layer names are silently skipped, the same degradation as Maps not being installed at all.

The restored accessor reads the effective settings, so unlike the 13.1.x one it also returns definitions set on the MediaWiki:Maps page. It mirrors LeafletService, keeping LeafletLayerDefinitions as the single normalization and hardening path, and the MediaWiki:Maps read stays lazy, at parse time.

AI-authored — Claude Code, Fable 5 (max); regression found and fix designed in-session, one-line asks from @kghbln, no revisions; diff reviewed by @kghbln before pushing; new regression test not run locally (no MediaWiki in the sandbox), CI is the gate; the degradation chain was verified statically against the 13.1.0-14.1.1 tags and the SRF client code.

Fixes #936

Maps 13.1.0 added the accessor together with the $egMapsLeafletLayerDefinitions setting (#921). The Semantic Result Formats filtered format resolves custom layer names in its `map view layers` parameter through it, guarded by method_exists() so Maps stays an optional dependency. 14.0.0 removed the accessor, so on 14.x the guard fails and custom layer names are silently skipped, the same degradation as Maps not being installed at all.

The restored accessor reads the effective settings, so unlike the 13.1.x one it also returns definitions set on the MediaWiki:Maps page. It mirrors LeafletService, keeping LeafletLayerDefinitions as the single normalization and hardening path, and the MediaWiki:Maps read stays lazy, at parse time.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018VHABGwcoKTWgFWUEToN58
@JeroenDeDauw
JeroenDeDauw merged commit 5250f92 into master Aug 31, 2026
12 of 16 checks passed
@JeroenDeDauw
JeroenDeDauw deleted the restore-leaflet-layer-definitions-accessor branch August 31, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MapsFactory::getLeafletLayerDefinitions() removed in 14.0.0, silently breaking custom layers in SRF's filtered map view

2 participants