Clear stale on-demand map layers
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 21:39:44 +02:00
parent 0c29411f49
commit 8e38691251
4 changed files with 17 additions and 3 deletions
+2 -1
View File
@@ -22,7 +22,8 @@
products are usable on demand without browser-side external calls. products are usable on demand without browser-side external calls.
- Prevented a single bounded municipality Dataset from being presented as - Prevented a single bounded municipality Dataset from being presented as
complete Flanders coverage; GRB cards remain `Op aanvraag` until the active complete Flanders coverage; GRB cards remain `Op aanvraag` until the active
selection has produced its measured result. selection has produced its measured result, and stale previously opened
vector features are not rendered behind an on-demand theme.
- Updated the provider registry to report the bounded GRB integration as - Updated the provider registry to report the bounded GRB integration as
configured while keeping the old generic import/fetch contract non-fetching configured while keeping the old generic import/fetch contract non-fetching
and directing callers to the governed project endpoint. and directing callers to the governed project endpoint.
@@ -389,5 +389,6 @@ def test_grb_frontend_and_contracts_use_only_the_governed_backend_path() -> None
assert "datasetsApi.listGrbProducts" in catalog_hook assert "datasetsApi.listGrbProducts" in catalog_hook
assert "officialMapProducts.grb" in workspace assert "officialMapProducts.grb" in workspace
assert "result[product.key] = null" in workspace assert "result[product.key] = null" in workspace
assert ": onDemandThemeActive\n ? null\n : mapFeatureCollection" in workspace
assert "/datasets/grb/acquire" in contracts assert "/datasets/grb/acquire" in contracts
assert "geo.api.vlaanderen.be" not in workspace assert "geo.api.vlaanderen.be" not in workspace
+11 -1
View File
@@ -10245,7 +10245,8 @@ Implemented:
- Browser acceptance caught and closed a coverage-label defect: a newly - Browser acceptance caught and closed a coverage-label defect: a newly
acquired small Mol Dataset no longer makes a complete-Flanders theme card acquired small Mol Dataset no longer makes a complete-Flanders theme card
appear fully loaded. In the Flanders workspace GRB stays `Op aanvraag`; appear fully loaded. In the Flanders workspace GRB stays `Op aanvraag`;
the exact bounded result is shown only after selection. the exact bounded result is shown only after selection and an older active
vector layer is not rendered behind it.
Validation: Validation:
- Focused provider, acquisition, route-envelope and frontend contract tests - Focused provider, acquisition, route-envelope and frontend contract tests
@@ -10258,3 +10259,12 @@ Validation:
- The complete readiness gate passed 943 backend tests, backend compilation, - The complete readiness gate passed 943 backend tests, backend compilation,
the 118-route API contract audit, Alembic head `202607160001`, frontend the 118-route API contract audit, Alembic head `202607160001`, frontend
TypeScript typecheck and the production Vite build. TypeScript typecheck and the production Vite build.
- Tower live acceptance persisted bounded Mol GRB results through PostGIS:
339 building contours (5.953873 ha footprint), one road segment
(0.0137304 km), two water features (0.0027273 ha plus 0.0050982 km
supporting linework) and eight parcels (1.2566294 ha). A repeated exact
building request reused the same Dataset and reported `reused=true`.
- The rebuilt all-in-one deployment remained healthy on port 1202 with
PostGIS 3.6 and Alembic head `202607160001`. Live browser acceptance showed
all four Flanders GRB cards as `Op aanvraag` and no stale vector content
underneath an unmeasured on-demand theme.
@@ -1039,6 +1039,8 @@ export function MapWorkspace({
? null ? null
: analysisMode === 'evolution' && temporalComparison?.geojson.features.length : analysisMode === 'evolution' && temporalComparison?.geojson.features.length
? temporalComparison.geojson ? temporalComparison.geojson
: onDemandThemeActive
? null
: mapFeatureCollection : mapFeatureCollection
const explorerSelectionFeatureCollection = analysisMode === 'current' const explorerSelectionFeatureCollection = analysisMode === 'current'
? activeSelectionResult?.geojson ?? null ? activeSelectionResult?.geojson ?? null