fix(ui): mobile WebView polish — tap-flash, VK haptics, VK swipe-back #149

Merged
developer merged 2 commits from feature/mobile-webview-polish into development 2026-07-01 11:23:29 +00:00
Owner

Three small mobile in-app WebView fixes, bundled so one contour deploy covers them:

  1. Tap-flash-webkit-tap-highlight-color: transparent on #app. Android in-app WebViews (Telegram, VK) drew a momentary selection-like box on a tappable node on tap — seen on the header title and the back chevron. user-select (already none) does not govern this; the new property does, and it inherits app-wide.

  2. VK haptics — VK users had no haptics. Mirror the Telegram set via VK Bridge taptic (VKWebAppTapticImpactOccurred / …NotificationOccurred / …SelectionChanged), routed through a new shared lib/haptics.ts dispatcher; game/error call sites now fire haptic().

  3. VK swipe-back — disable VK's horizontal swipe-back at launch (VKWebAppSetSwipeSettings history:false) so it does not fight the app's own edge-swipe-back and on-board tile drag — parity with Telegram's disabled vertical swipes.

Review on the contour: tap the header title / back on Android (no flash); haptics on VK; VK swipe-back inert. Docs: UI_DESIGN. Verified locally: pnpm check (0/0), unit (356), build, e2e (160 passed).

Three small mobile in-app WebView fixes, bundled so one contour deploy covers them: 1. **Tap-flash** — `-webkit-tap-highlight-color: transparent` on `#app`. Android in-app WebViews (Telegram, VK) drew a momentary selection-like box on a tappable node on tap — seen on the header title and the back chevron. `user-select` (already `none`) does not govern this; the new property does, and it inherits app-wide. 2. **VK haptics** — VK users had no haptics. Mirror the Telegram set via VK Bridge taptic (`VKWebAppTapticImpactOccurred` / `…NotificationOccurred` / `…SelectionChanged`), routed through a new shared `lib/haptics.ts` dispatcher; game/error call sites now fire `haptic()`. 3. **VK swipe-back** — disable VK's horizontal swipe-back at launch (`VKWebAppSetSwipeSettings` history:false) so it does not fight the app's own edge-swipe-back and on-board tile drag — parity with Telegram's disabled vertical swipes. **Review on the contour:** tap the header title / back on Android (no flash); haptics on VK; VK swipe-back inert. Docs: UI_DESIGN. Verified locally: `pnpm check` (0/0), unit (356), build, e2e (160 passed).
developer added 1 commit 2026-06-30 21:00:32 +00:00
fix(ui): mobile in-app WebView polish (tap-flash, VK haptics, swipe-back)
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 57s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m13s
71c3411276
- Tap-highlight: add -webkit-tap-highlight-color: transparent on #app.
  Android in-app WebViews (Telegram, VK) flashed a momentary selection-like
  box on tappable nodes on tap — seen on the header title and the back
  chevron; user-select (already none) does not govern it. Inherited, so
  this clears it app-wide.

- VK haptics: mirror the Telegram haptic set on VK via VK Bridge taptic
  (impact / notification / selection), routed through a new shared
  lib/haptics.ts dispatcher. VK users previously got no haptics; the game
  and error call sites now fire haptic() instead of telegramHaptic().

- VK swipe-back: disable VK's horizontal swipe-back at launch
  (VKWebAppSetSwipeSettings history:false) so it does not fight the app's
  own edge-swipe-back and on-board tile drag — parity with Telegram's
  disabled vertical swipes; the app owns navigation via its back chevron.

Docs: UI_DESIGN (no-select / tap-highlight, VK integration).
developer added 1 commit 2026-07-01 11:07:45 +00:00
fix(ui): suppress tap-flash directly on the header title and back
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 57s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m30s
f4dbb545e0
The global -webkit-tap-highlight-color on #app was not enough on Android
in-app WebViews (Telegram, VK): they only suppress the selection-like tap
flash when -webkit-user-select / -webkit-tap-highlight-color /
-webkit-touch-callout sit DIRECTLY on the tapped element, not inherited.
Set them on the two tappable header controls — the title (a 10-tap debug
target) and the back chevron.
owner approved these changes 2026-07-01 11:21:16 +00:00
developer merged commit cf1d773c18 into development 2026-07-01 11:23:29 +00:00
developer deleted branch feature/mobile-webview-polish 2026-07-01 11:23:29 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: developer/scrabble-game#149