feat(telegram): promo deep-link seeds EN variant (+ UI: share label, header padding) #134

Merged
developer merged 5 commits from feature/promo-deeplink-and-ui-nits into development 2026-06-23 20:50:14 +00:00
Owner

Three small changes (one PR, one contour deploy):

  1. UI — Friends "Share via Telegram" → "Share"/"Поделиться" (it uses the OS share sheet outside TG; "via Telegram" misled). Dropped the dead tgshare class.
  2. UI — halved the custom header top/bottom padding (standard 10→5px; TG path notch-gap 16→8px, bottom 6→3px; notch inset untouched).
  3. Telegram promo — the promo bot button carries a configurable variant-seed start-param (default verudit_ru-scrabble_en). The gateway parses start_param from the validated initData and forwards it; the backend seeds a brand-new account variant_preferences from it (English Scrabble + the default Erudit), first contact only.

No DB migration (the scrabble_en CHECK is already in the baseline); the gateway↔backend REST field is additive → rolling deploy safe either order. Tests: account unit + gateway transcode + an integration test asserting new-only seeding. Docs: ARCHITECTURE, FUNCTIONAL (+ru), telegram README, deploy env.

Three small changes (one PR, one contour deploy): 1. **UI** — Friends "Share via Telegram" → "Share"/"Поделиться" (it uses the OS share sheet outside TG; "via Telegram" misled). Dropped the dead `tgshare` class. 2. **UI** — halved the custom header top/bottom padding (standard 10→5px; TG path notch-gap 16→8px, bottom 6→3px; notch inset untouched). 3. **Telegram promo** — the promo bot button carries a configurable variant-seed start-param (default `verudit_ru-scrabble_en`). The gateway parses `start_param` from the **validated** initData and forwards it; the backend seeds a brand-new account variant_preferences from it (English Scrabble + the default Erudit), **first contact only**. No DB migration (the `scrabble_en` CHECK is already in the baseline); the gateway↔backend REST field is additive → rolling deploy safe either order. Tests: account unit + gateway transcode + an integration test asserting new-only seeding. Docs: ARCHITECTURE, FUNCTIONAL (+ru), telegram README, deploy env.
developer added 3 commits 2026-06-23 19:52:25 +00:00
The share button uses the OS Web Share sheet outside Telegram (the TG share picker only inside it), so "via Telegram" was misleading. Rename to a neutral "Share"/"Поделиться" and drop the now-unused tgshare class.
The custom title bar was too tall. Halve the standard bar padding (10->5px) and, in the Telegram path, the notch gap (16->8px) and bottom (6->3px); the notch safe-area inset is unchanged. Title and back chevron stay vertically centred.
feat(telegram): promo deep-link seeds English Scrabble for new users
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 10s
CI / integration (pull_request) Successful in 18s
CI / ui (pull_request) Successful in 56s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 50s
03dfc29a54
The promo bot button carries a configurable variant-seed start-param (default verudit_ru-scrabble_en). The gateway parses start_param from the validated initData and forwards it; the backend, on first contact only, seeds the new account variant_preferences from it (English Scrabble alongside the default Erudit).

No schema change (the scrabble_en CHECK is already in the baseline) and the gateway<->backend REST field is additive, so the rolling deploy is safe in either order. TELEGRAM_PROMO_START_PARAM configures the payload (empty forwards the user own /start payload). Covered by account unit tests, a gateway transcode test, and an integration test asserting new-only seeding.
developer force-pushed feature/promo-deeplink-and-ui-nits from 33064d22a3 to 03dfc29a54 2026-06-23 20:31:49 +00:00 Compare
developer added 1 commit 2026-06-23 20:40:53 +00:00
feat(telegram): link the promo body @username to the Mini App deep link
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Successful in 10s
CI / integration (pull_request) Successful in 18s
CI / ui (pull_request) Successful in 56s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m22s
a4581663f4
The promo message body now renders "@<bot>" as an HTML text_link to the same ?startapp deep link the button uses (ParseMode HTML), so tapping the mention opens the seeded Mini App instead of the bot profile. Same payload (campaign start-param, else the forwarded /start payload) backs both the button and the mention.
developer added 1 commit 2026-06-23 20:45:56 +00:00
docs(telegram): note the promo body @username is a deep link
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 10s
CI / integration (pull_request) Successful in 15s
CI / ui (pull_request) Successful in 55s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m17s
9207664fbd
owner approved these changes 2026-06-23 20:49:47 +00:00
developer merged commit c1d1c1624b into development 2026-06-23 20:50:14 +00:00
developer deleted branch feature/promo-deeplink-and-ui-nits 2026-06-23 20:50:14 +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#134