fix: блокировать нажатия устройств после pinch (#563)

Issue: #563
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-09-13 18:44:07 +03:00
parent 8fa2568cf9
commit aa13e2264e
53 changed files with 1092 additions and 897 deletions
+15
View File
@@ -7490,6 +7490,21 @@ const MUTANT_DEFINITIONS = [
replace: ' remote.add(other.markerId);',
}],
},
{
id: 'touch-pinch-click-block-cleared-on-terminal',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '
+ '&& node --test --test-name-pattern="#563" test/touch-gesture-click-guard.test.mjs',
because: 'a completed pinch still owns every delayed compatibility click until a new '
+ 'pointerdown proves deliberate input; clearing on pointerup can toggle a real device (#563 AC7)',
patches: [{
file: 'src/touch-gesture-click-guard.ts',
find: ' if (this._activeTouchPointers.size === 0) this._sequenceMultitouch = false;',
replace: ' if (this._activeTouchPointers.size === 0) {\n'
+ ' this._sequenceMultitouch = false;\n'
+ ' this._postGestureClickBlocked = false; // mutant: delayed click is re-armed\n'
+ ' }',
}],
},
{
id: 'double-fit-free-background-owner-removed',
guard: 'node --test --test-name-pattern="#449 only" test/room-fit.test.mjs',