fix(ui): VK Android external links + landing VK entry + drop 1️⃣ badge #156

Merged
developer merged 5 commits from feature/vk-links-landing into development 2026-07-01 22:39:26 +00:00
Owner

Three owner-requested fixes:

1. VK Android: external links strand the player. The Android VK client's WebView ignores target=_blank and navigates the game's own window (dictionary lookup after word check, About/Feedback links, ad banner, bot-link modal fallbacks). vk-bridge 3.x has no method to open an external URL, so links are routed through VK's own leave-VK redirect vk.com/away.php?to=…, which the client intercepts natively and opens in the system browser. Scoped to vk_platform=mobile_android* — iOS and desktop VK open _blank correctly and are untouched. onExternalLinkClick moved to lib/links.ts composing the Telegram + VK routers. Needs an on-device check on the contour (away.php interception is not reproducible in Playwright).

2. Landing: VK logo next to Telegram, linked from the new VITE_VK_APP_LINK build-arg (wired through Dockerfile/compose/CI/prod-deploy; the TEST_/PROD_ Gitea variables already exist). Found + fixed adjacent: since 57c778f gateway/Dockerfile lost the plain VITE_TELEGRAM_GAME_CHANNEL_NAME ARG (kept stale _EN/_RU), so the deployed landing bundle dead-code-eliminated the whole Telegram-logo branch — prod erudit-game.ru currently shows no TG logo (verified by grepping the served bundle). This PR restores it.

3. Status bar: drop the 1️⃣ badge (noise); the single-word rule keeps the spelled-out label in the history header and lobby.

Tests: svelte-check 0 errors, 371 unit (new: vk away-routing, links opener, vkAppLink), e2e 160 passed both engines; compose config validated; env-baked bundle grep confirms both links.

Three owner-requested fixes: **1. VK Android: external links strand the player.** The Android VK client's WebView ignores `target=_blank` and navigates the game's own window (dictionary lookup after word check, About/Feedback links, ad banner, bot-link modal fallbacks). vk-bridge 3.x has **no** method to open an external URL, so links are routed through VK's own leave-VK redirect `vk.com/away.php?to=…`, which the client intercepts natively and opens in the system browser. Scoped to `vk_platform=mobile_android*` — iOS and desktop VK open `_blank` correctly and are untouched. `onExternalLinkClick` moved to `lib/links.ts` composing the Telegram + VK routers. **Needs an on-device check on the contour** (away.php interception is not reproducible in Playwright). **2. Landing: VK logo next to Telegram**, linked from the new `VITE_VK_APP_LINK` build-arg (wired through Dockerfile/compose/CI/prod-deploy; the `TEST_`/`PROD_` Gitea variables already exist). Found + fixed adjacent: since 57c778f `gateway/Dockerfile` lost the plain `VITE_TELEGRAM_GAME_CHANNEL_NAME` ARG (kept stale `_EN`/`_RU`), so the deployed landing bundle dead-code-eliminated the whole Telegram-logo branch — prod erudit-game.ru currently shows **no TG logo** (verified by grepping the served bundle). This PR restores it. **3. Status bar: drop the `1️⃣` badge** (noise); the single-word rule keeps the spelled-out label in the history header and lobby. Tests: svelte-check 0 errors, 371 unit (new: vk away-routing, links opener, vkAppLink), e2e 160 passed both engines; compose config validated; env-baked bundle grep confirms both links.
developer added 3 commits 2026-07-01 22:10:38 +00:00
The Android VK client's WebView ignores target=_blank and navigates the
Mini App's own window to the target, stranding the player outside the
game with no way back (the dictionary lookup, About/Feedback links, the
ad banner and the bot-link modal fallbacks). vk-bridge 3.x has no method
to open an external URL, so external links are routed through VK's own
leave-VK redirect (vk.com/away.php), which the client intercepts
natively and hands to the system browser.

onExternalLinkClick moves from lib/telegram to a new lib/links that
composes the Telegram and VK routers; iOS and desktop VK open _blank
correctly and are left alone.
Add the VK Mini App logo next to the Telegram one on the landing hero,
linked via the new VITE_VK_APP_LINK build-arg (full URL, wired through
compose, CI and prod-deploy from TEST_/PROD_VITE_VK_APP_LINK).

Also restore the landing's Telegram link itself: commit 57c778f
collapsed the per-language vars to VITE_TELEGRAM_GAME_CHANNEL_NAME in
compose/CI but left gateway/Dockerfile with the stale _EN/_RU ARGs and
without the plain one, so the built bundle saw the var as undefined and
dead-code-eliminated the whole channel-link branch — deployed landings
(prod included) have shown no Telegram logo since.
feat(ui): drop the one-word status-bar badge
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 10s
CI / integration (pull_request) Successful in 17s
CI / ui (pull_request) Successful in 57s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m19s
aec915d5c1
The small 1️⃣ in the status bar's score-preview slot read as noise; the
single-word rule keeps its spelled-out label in the history header and
the lobby invitation card.
developer added 1 commit 2026-07-01 22:24:21 +00:00
chore: i18n game descriptions
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 9s
CI / integration (pull_request) Successful in 16s
CI / ui (pull_request) Failing after 1m0s
CI / conformance (pull_request) Successful in 10s
CI / gate (pull_request) Failing after 0s
CI / deploy (pull_request) Has been skipped
4e169c368d
developer added 1 commit 2026-07-01 22:29:44 +00:00
fix: landing smoke test
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 9s
CI / integration (pull_request) Successful in 14s
CI / ui (pull_request) Successful in 57s
CI / conformance (pull_request) Successful in 10s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m18s
65063621a9
owner approved these changes 2026-07-01 22:39:04 +00:00
developer merged commit f3e2a6822b into development 2026-07-01 22:39:26 +00:00
developer deleted branch feature/vk-links-landing 2026-07-01 22:39:26 +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#156