Stage 17 (contour round 3): Telegram Mini Apps polish, board scroll, keyboard overlay
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 10s
CI / ui (pull_request) Successful in 27s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 54s
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 8s
CI / integration (pull_request) Successful in 10s
CI / ui (pull_request) Successful in 27s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 54s
- Telegram (lib/telegram.ts): chrome colours (setHeaderColor/setBackgroundColor/setBottomBarColor) match Telegram's header/bg/bottom bar to the app; native BackButton on sub-screens (app chevron hidden in TG); HapticFeedback on tile place/commit/error; enableClosingConfirmation while a game is open; disableVerticalSwipes so swipe-to-minimise doesn't fight tile drag / board scroll - #9 board-only vertical scroll: Screen 'column' mode lets the board area scroll while score/status/rack/tab bar stay fixed (zoom keeps its own scroll) - #10 check-word dialog opens in Modal keyboard-overlay mode (top-anchored, keyboard overlays the empty area) — no resize/relayout jank; other modals stay keyboard-aware - docs: UI_DESIGN Telegram integration + vertical fit/keyboard; PLAN round 2-3 follow-ups
This commit is contained in:
@@ -1254,6 +1254,21 @@ provided cert) at the contour caddy; prod VPN; rollback.
|
||||
and `/_gm/grafana` with one identical realm and Grafana serves anonymously, so the repeated prompt is a
|
||||
browser Basic-Auth scoping quirk (likely Safari/Desktop), not infra — left for the owner to re-verify,
|
||||
no server change. **Multi-word history (#22)** was already implemented (all formed words shown).
|
||||
- **Contour-verification follow-ups** (rounds 2–3, from live testing): the Grafana
|
||||
double-password was its **Live WebSocket** tripping caddy Basic-Auth — Grafana Live is
|
||||
disabled (`GF_LIVE_MAX_CONNECTIONS=0`) and the admin console links to Grafana; the
|
||||
move-duration panel was invisible because the deploy reseed (`rm -rf`) left the
|
||||
config-only services on a stale bind mount — the deploy now **force-recreates**
|
||||
caddy/otelcol/prometheus/tempo/grafana; the **per-user rate limit** was raised 120/40 →
|
||||
300/80 and the UI no longer reloads on the echo of its own move; the iOS/Telegram
|
||||
reconnect banner gained a resume **grace window** (visibilitychange + pageshow/pagehide
|
||||
+ Telegram `activated`/`deactivated`); **Telegram Mini Apps polish** was adopted —
|
||||
chrome colours (`setHeaderColor`/`setBackgroundColor`/`setBottomBarColor`), native
|
||||
**BackButton**, **HapticFeedback**, **closing confirmation** in a game,
|
||||
**disableVerticalSwipes**; the players-plaque highlight was inverted so the active seat
|
||||
pops; the make-move popover became a direct **✅** with a tab-bar **↩️ Reset**; the hint
|
||||
button disables at zero hints; plus **board-only vertical scroll** (#9) and a
|
||||
**keyboard-overlay** check-word dialog (#10).
|
||||
|
||||
## Deferred TODOs (cross-stage)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user