revert(extension): drop post-3.1.2 frame-targeting band-aids

Restores extension/ to the state directly after webNavigation was removed
(4d78970). The six follow-up commits layered heuristics on an unverified
premise (frame-ID sweeps, multi-phase probes, retry loops) without fixing
the underlying resolver. They are removed so the real fix can be built on
a known state.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Timo
2026-08-17 23:53:10 +02:00
parent 804c36c694
commit 04694d4439
23 changed files with 245 additions and 744 deletions
-12
View File
@@ -173,18 +173,6 @@ describe('chat overlay contract', () => {
expect(overlaySource).toContain("if (destroyed || area !== 'local') return");
});
it('persists the last manual open/closed state across context refreshes', () => {
expect(overlaySource).toContain('const openStateKey = `chatOverlayOpen:${location.origin}`');
expect(overlaySource).toContain('let lastUserOpenState = null');
expect(overlaySource).toContain('function setOpened(next, persistPreference = true)');
expect(overlaySource).toContain('setLocalStorage({ [openStateKey]: opened })');
expect(overlaySource).toContain('setOpened(false, false)');
expect(overlaySource).toContain('setOpened(lastUserOpenState ?? (chatStartMode === \'open\'), false)');
expect(overlaySource).toContain('typeof data[openStateKey] === \'boolean\'');
expect(overlaySource).toContain('const previousEnabled = context?.enabled === true');
expect(overlaySource).toContain('(!startStateApplied || !previousEnabled)');
});
it('keeps chat hidden by default without discarding the room chat key', () => {
expect(popupSource).toContain('localData.chatEnabled === true');
expect(backgroundSource).toContain('chatEnabled: data.chatEnabled === true');