f59c8dcd43
Merge pull request 'feat(robot): occasional off-strategy deviation, strict in the endgame' (#69) from feature/ai-strategy-deviation into development
developer2026-06-15 19:49:28 +00:00
3bceafbc12
feat(robot): occasional off-strategy deviation, strict in the endgame
Ilia Denisov
2026-06-15 21:37:23 +02:00
9e6899bb7d
Merge pull request 'feat: honest AI opponent in quick game' (#68) from feature/ai-opponent into development
developer2026-06-15 19:05:23 +00:00
aa765a0c06
feat: honest AI opponent in quick game
Ilia Denisov
2026-06-15 20:14:24 +02:00
91d5c341ef
Merge pull request 'feat(ui): external dictionary lookup link on the word-check tool' (#67) from feat/dict-lookup-link into development
developer2026-06-15 16:32:23 +00:00
bd0482c376
feat(ui): route all in-app external links through Telegram openLink
Ilia Denisov
2026-06-15 18:29:53 +02:00
8e0d7f9e17
feat(ui): external dictionary lookup link on the word-check tool
Ilia Denisov
2026-06-15 18:14:19 +02:00
4d6df4bd8b
Merge pull request 'feat(ui): настоящий share friend-code + ссылка по текущему боту (service_language)' (#66) from feat/friend-invite-share into development
developer2026-06-15 15:42:19 +00:00
4b454db219
Merge pull request 'fix(ui): язык интерфейса по системе (не по боту) + pinch-zoom не триггерит back' (#65) from fix/locale-and-pinch-swipe into development
developer2026-06-15 15:42:03 +00:00
8073971fca
docs: bake Telegram invite & launch refinements into ARCHITECTURE/UI_DESIGN
Ilia Denisov
2026-06-15 17:39:35 +02:00
00129414e5
feat(ui): force Mini App fullscreen on mobile, not via the share link
Ilia Denisov
2026-06-15 17:34:07 +02:00
853730823b
feat(ui): refine Telegram invite & close UX
Ilia Denisov
2026-06-15 17:22:09 +02:00
03eb8044ff
feat(ui): real friend-invite share with a per-bot link
Ilia Denisov
2026-06-15 15:49:36 +02:00
6679260d0a
feat(session): carry the bot service_language on the Session wire
Ilia Denisov
2026-06-15 15:49:26 +02:00
800a692766
fix(ui): a board pinch-zoom no longer triggers swipe-back
Ilia Denisov
2026-06-15 13:52:52 +02:00
30a7c24140
fix(ui): interface language follows the device, not the Telegram bot
Ilia Denisov
2026-06-15 13:52:52 +02:00
711fe6e594
Merge pull request 'feat(feedback): обратная связь от пользователей с разбором в админке и ролями' (#64) from feature/feedback into development
developer2026-06-15 11:30:09 +00:00
277954c47f
feat(feedback): render links in the operator reply (open in a new tab)
Ilia Denisov
2026-06-15 13:25:36 +02:00
55ed87fb11
feat(feedback): snapshot the sender's language and connector bot at submit
Ilia Denisov
2026-06-15 13:25:27 +02:00
49b67a0354
docs(feedback): note interface language + connector bot in the admin detail
Ilia Denisov
2026-06-15 13:11:13 +02:00
2a4ce319d9
feat(feedback): show the sender's interface language and connector bot in admin
Ilia Denisov
2026-06-15 13:07:47 +02:00
1ae43080ec
fix(feedback): show the operator reply only on the player's latest message
Ilia Denisov
2026-06-15 12:59:18 +02:00
5287794a72
fix(feedback): theme buttons, badge the Info button, simplify admin actions
Ilia Denisov
2026-06-15 12:45:00 +02:00
419ea11b14
feat(feedback): in-app user feedback with admin review and account roles
Ilia Denisov
2026-06-15 12:23:10 +02:00
fc848157d6
Merge pull request 'feat(admin): выдача подсказок в кошелёк пользователя из админки' (#63) from feature/admin-grant-hints into development
developer2026-06-14 21:32:40 +00:00
192e4a2433
feat(admin): grant hints to a user's wallet from the console
Ilia Denisov
2026-06-14 23:21:30 +02:00
d3bedbb5b6
Merge pull request 'feat(ui): тост «Ваш ход» называет предыдущего игрока' (#62) from feature/your-turn-toast-opponent-name into development
developer2026-06-14 20:57:19 +00:00
ac62d29ef7
feat(ui): name the previous player in the your-turn toast
Ilia Denisov
2026-06-14 22:52:15 +02:00
a80952a835
Merge pull request 'feat(admin): ручная блокировка пользователей в админке' (#61) from feature/admin-user-blocking into development
developer2026-06-14 20:28:12 +00:00
290874720f
perf(admin): cache the suspension gate lookup
Ilia Denisov
2026-06-14 22:24:57 +02:00
9d85090075
Merge pull request 'feat(chat): лимит внутриигрового чата — 1 сообщение за ход' (#60) from feature/chat-one-message-per-turn into development
developer2026-06-14 18:33:01 +00:00
5f53ec81b9
fix(chat): no chat field or nudge on a finished game
Ilia Denisov
2026-06-14 20:29:47 +02:00
02681ae9e0
feat(chat): limit in-game chat to one message per turn
Ilia Denisov
2026-06-14 20:18:58 +02:00
fc28e43e43
Merge pull request 'feat(ui): горизонтальная раскладка игрового экрана — доска по высоте + левая панель' (#59) from feature/landscape-game-layout into development
developer2026-06-14 17:44:49 +00:00
02ef31c464
feat(ui): landscape iteration — reorder left panel, enable board zoom
Ilia Denisov
2026-06-14 19:39:06 +02:00
9ec72c8377
feat(ui): landscape two-column game layout, board fitted by height
Ilia Denisov
2026-06-14 19:06:35 +02:00
7716353f84
Merge pull request 'feat(ui): мгновенное открытие партии — предзагрузка идущих партий + кэш черновика без «прыжка»' (#58) from feature/instant-game-open into development
developer2026-06-14 16:08:20 +00:00
c9021fc070
feat(ui): preload ongoing games and cache the draft for an instant, jump-free game open
Ilia Denisov
2026-06-14 17:53:03 +02:00
4f2fc795ec
Merge pull request 'fix(engine): single-word rule connects along the play line' (#57) from feature/single-word-connectivity into development
developer2026-06-14 15:02:32 +00:00
222eaf730f
feat(game): void unreplayable games as a draw instead of erroring
Ilia Denisov
2026-06-14 16:57:27 +02:00
ff87a3bf62
fix(engine): single-word rule connects along the play line
Ilia Denisov
2026-06-14 14:49:16 +02:00
c7e177f911
Merge pull request 'feat(ui): cross-screen caches + invitation delta channel + hint recenter on a zoomed board' (#56) from feature/lobby-cache-any-screen-invitation-delta into development
developer2026-06-14 10:57:37 +00:00
abe1038333
test(ui): run e2e against the minified vite build, not the dev server
Ilia Denisov
2026-06-14 12:54:44 +02:00
553152e195
refactor(ui): harden the board's recenter dependency and gate it on a real bump
Ilia Denisov
2026-06-14 12:40:08 +02:00
1cc6c0d56e
fix(ui): stop the game-screen freeze when an opponent joins (reactive self-loop)
Ilia Denisov
2026-06-14 12:39:57 +02:00
f3914af793
fix(ui): recentre the board on a hint taken while already zoomed in
Ilia Denisov
2026-06-14 11:44:04 +02:00
56dbf86472
feat(lobby): keep lobby/game caches fresh from any screen + invitation delta channel
Ilia Denisov
2026-06-14 11:22:47 +02:00
5312b11f0e
Merge pull request 'fix(ui): keep lobby/game caches fresh across screens (no stale-status flash)' (#55) from feature/ui-cross-screen-cache-freshness into development
developer2026-06-14 08:51:23 +00:00
cf70e6b1fc
fix(ui): keep lobby/game caches fresh across screens (no stale-status flash)
Ilia Denisov
2026-06-14 10:42:43 +02:00
38fa104f7f
Merge pull request 'fix(ui): poll/refetch fallback for a missed opponent_joined in the open-game wait' (#54) from feature/open-game-wait-poll-fallback into development
developer2026-06-13 22:21:03 +00:00
4409253dce
fix(ui): also resync an open game on a foreground regain without a stream drop
Ilia Denisov
2026-06-14 00:14:49 +02:00
16402e64c0
fix(ui): poll/refetch fallback for a missed opponent_joined in the open-game wait
Ilia Denisov
2026-06-14 00:02:57 +02:00
315bcf75ae
Merge pull request 'feat(admin): online dictionary update — upload archive, preview word diff, install & activate' (#53) from feature/dict-admin-online-upload into development
developer2026-06-13 21:41:01 +00:00
0f3671f42d
feat(admin): online dictionary update — upload archive, preview word diff, install & activate
Ilia Denisov
2026-06-13 23:29:06 +02:00
5ff07da025
Merge pull request 'feat(ui): merge Exchange/Pass into one action; drop dead Tournaments tab' (#52) from feature/ui-merge-exchange-pass into development
developer2026-06-13 19:58:37 +00:00
a4e6727c70
feat(ui): merge Exchange/Pass into one action; drop dead Tournaments tab
Ilia Denisov
2026-06-13 16:41:55 +02:00
1d41cf8222
Merge pull request 'feat(lobby): enter the game immediately and wait for the opponent inside it' (#51) from feature/quick-game-open-wait into development
developer2026-06-13 09:14:51 +00:00
94534ad0f2
feat(admin): add an 'open' filter to the console games list
Ilia Denisov
2026-06-13 11:08:57 +02:00
efaf633691
fix(gateway): put the opened game on the wire even when the enqueue is not yet matched
Ilia Denisov
2026-06-13 10:50:16 +02:00
a3cb917ec7
fix(lobby): land in the opened game on enqueue + keep open games active in the lobby
Ilia Denisov
2026-06-13 10:29:56 +02:00
c305363ccd
feat(lobby): enter the game immediately and wait for the opponent inside it
Ilia Denisov
2026-06-12 16:00:22 +02:00
10dc1f0d48
Merge pull request 'feat(ui): last-word letter highlight + dark bonus-square contrast' (#50) from feature/board-recent-highlight-and-dark-bonus into development
developer2026-06-12 11:12:04 +00:00
cb75623677
feat(ui): lighten the light-theme last-word highlight to a brighter burgundy
Ilia Denisov
2026-06-12 13:07:47 +02:00
107add13b6
feat(ui): use a warm burgundy for the last-word highlight in both themes
Ilia Denisov
2026-06-12 12:59:39 +02:00
359758a01a
feat(ui): tint last-word letters for the recent highlight; lift dark bonus contrast
Ilia Denisov
2026-06-12 12:31:39 +02:00
f67a357e62
Merge pull request 'fix(admin): keep the filter query intact in console pager and export links' (#49) from feature/admin-pager-filter-encoding into development
developer2026-06-12 09:41:37 +00:00
eeb078d528
fix(admin): keep the filter query intact in console pager and export links
Ilia Denisov
2026-06-12 11:38:26 +02:00
641ac88b2d
Merge pull request 'fix(engine): EvaluatePlay honors the single-word rule' (#48) from feature/single-word-evaluate-fix into development
developer2026-06-12 09:23:45 +00:00
5fa51d04d9
fix(engine): EvaluatePlay honors the single-word rule
Ilia Denisov
2026-06-12 11:14:20 +02:00
f1e77b5826
Merge pull request 'Single-word rule indicators + auto-match select redesign' (#47) from feature/rule-indicators-newgame into development
developer2026-06-12 08:44:59 +00:00
f73f76220d
test(ui): cover the invitation-card single-word indicator
Ilia Denisov
2026-06-12 10:36:13 +02:00
b56a45f0e0
Merge pull request 'Multiple words per turn rule for Russian games' (#46) from feature/single-word-rule into development
developer2026-06-12 07:22:55 +00:00
74455c7b12
feat: "multiple words per turn" rule for Russian games
Ilia Denisov
2026-06-12 02:17:30 +02:00
d4a1616d03
Merge pull request 'UI: drop tab-bar tap highlight; don't slide the first screen on launch' (#45) from feature/ui-tap-startup-polish into development
developer2026-06-11 21:55:21 +00:00
390b4c756f
UI: soften the board checkerboard's dark cells
Ilia Denisov
2026-06-11 23:51:39 +02:00
c32a15730a
UI: fix the lobby slide on Telegram cold launch (correct the cause)
Ilia Denisov
2026-06-11 23:40:40 +02:00
9277a70565
UI: drop tab-bar tap highlight; don't slide the first screen on launch
Ilia Denisov
2026-06-11 23:19:16 +02:00
5648f4a0bb
Merge pull request 'Backend infers play direction; UI previews words and gates submit on legality' (#44) from feature/auto-play-direction into development
developer2026-06-11 21:02:47 +00:00
883212f9d1
UI: remove the lobby game-row tap highlight
Ilia Denisov
2026-06-11 22:58:37 +02:00
92f48a3b12
Backend infers play direction; UI previews words and gates submit on legality
Ilia Denisov
2026-06-11 22:42:33 +02:00
feee3d6511
Merge pull request 'UI: move history as a per-seat column grid + swipe-down to open' (#43) from feature/ui-history-grid into development
developer2026-06-11 19:10:59 +00:00
a41c35d5f9
UI: gesture & history polish — pinch/swipe fix, wider back-swipe, nudge align, history overscroll
Ilia Denisov
2026-06-11 21:01:43 +02:00
6268b9d2a2
UI: pin the SPA document so iOS/WKWebView cannot rubber-band the page
Ilia Denisov
2026-06-11 20:43:12 +02:00
e68fe61e39
UI: render move history as a per-seat column grid + swipe-down to open
Ilia Denisov
2026-06-11 20:18:23 +02:00
4c65923544
Merge pull request 'UI: fix last-move highlight, localize move history, clamp zoom overscroll' (#42) from feature/ui-recent-highlight-fixes into development
developer2026-06-11 17:32:34 +00:00