UI: enable the back-swipe inside Telegram (fix lost 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 41s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 57s

The gesture was disabled inside Telegram on the mistaken assumption it would
fight a Telegram horizontal close gesture — but Telegram's only close/minimise
gesture is vertical (disableVerticalSwipes, Bot API 7.7+). Disabling it there,
together with dropping the old left-edge swipe, removed every swipe-back in
Telegram (which that edge-swipe — deliberately enabled in TG, commit 7e34897 —
had provided).

Make shouldArm Telegram-agnostic (drop the insideTelegram guard + its now-unused
import); the gesture works in Telegram too, alongside the native BackButton.
Drop the redundant overscroll-behavior-x on .router (body already sets
overscroll-behavior: none). Regression: an e2e drives the swipe under an
injected Telegram WebApp stub and asserts it navigates back.
This commit is contained in:
Ilia Denisov
2026-06-11 16:57:34 +02:00
parent 6d263ff7c6
commit de11ae46a2
6 changed files with 41 additions and 13 deletions
+3 -2
View File
@@ -31,8 +31,9 @@ Login uses `Screen`.
back). The live parent mounts only on commit, which suppresses that one route slide so the
hand-off is seamless. The gesture yields to native **vertical scroll** on a vertical move
and skips the rack, a draggable pending tile, text inputs and the board **while zoomed-in**
(so it never fights the board pan); it stays disabled inside Telegram, whose native
BackButton owns this.
(so it never fights the board pan). It works **inside Telegram** too — Telegram's only
close/minimise gesture is *vertical* (disabled separately via `disableVerticalSwipes`), so
a horizontal back-swipe has nothing to fight; the native header BackButton complements it.
- **No hamburger**: navigation is entirely bottom tab bars (the former `Menu.svelte`
dropdown is gone — it fought the Telegram-fullscreen layout, where it had to be re-centred).
Destinations beyond the lobby live behind **hub screens** reached from a tab: a ⚙️