fix(street-level): record filter and provider changes in share links

The panel changed the imagery filter and provider switches by calling the
layer directly, which bypasses the data manager's params request, the only
path saved state and share links record. A link copied after picking 360°
or a SINCE window came back with the defaults.

The controls now send those changes through
dataManager.setLayerParams('street-level', ..., { origin: 'user' }), as
the CCTV panel does; the layer applies them through its own setParams.

The feature gate's 360° step now asserts the share hash carries `0.p.p`;
it times out on the previous controls.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Said TurkseverandClaude Opus 5.5 committed 2026-09-28 22:12:46 +01:00
1 parent d7d5bec752
commit d5da45eacb
3 files changed
+26 -4

No files matched your search

+9
View File
@@ -330,6 +330,15 @@ async function main() {
const after = (await ui()).coverage.count;
assert.ok(after <= before, `${after} ≤ ${before}`);
assert.equal((await ui()).filter.pano, 'pano');
// The click is a user params request, so the share link records it
// (Street Level's share token is `0`).
await page.waitForFunction(
() =>
/(^|_)0\.p\.p(_|$)/.test(
new URLSearchParams(location.hash.slice(1)).get('lo') || '',
),
{ timeout: 10_000 },
);
await page.click('[data-sl-pano="all"]');
await sleep(600);
assert.equal((await ui()).coverage.count, before);