Commit Graph

  • 4d1f389cf1 ci: skip the test-contour deploy on a no-code change Ilia Denisov 2026-07-07 23:22:29 +02:00
  • 4c7bc7baa9 docs(payments): add monetization spec and implementation plan Ilia Denisov 2026-07-07 23:11:49 +02:00
  • 780ff68ec2 Merge pull request 'release: offline mode + local pass-and-play (hotseat) — proposed v1.12.0' (#212) from development into master v1.12.0 developer 2026-07-07 14:40:43 +00:00
  • ca48b3e18e Merge pull request 'feat(offline): local pass-and-play (hotseat) — 2-4 players, seat/host PINs' (#211) from feature/offline-hotseat into development developer 2026-07-07 14:27:57 +00:00
  • a7f483792f feat(offline): randomise the hotseat seating (random first mover) Ilia Denisov 2026-07-07 16:20:53 +02:00
  • 80cc2a76e8 fix(ui): unify tie-for-lead result across lobby + game (shared victory, not a draw) Ilia Denisov 2026-07-07 15:47:34 +02:00
  • 1e087be90a fix(offline): hotseat finished-game medals by final score (fix all-last-place on a tie) Ilia Denisov 2026-07-07 15:37:25 +02:00
  • 84d0385c95 fix(offline): scope the medal treatment to hotseat only Ilia Denisov 2026-07-07 15:00:59 +02:00
  • 0ed34c7720 feat(offline): per-seat medals in local games; drop the you-won text + lobby medal Ilia Denisov 2026-07-07 14:54:44 +02:00
  • 52d0c559f9 fix(ui): local-game history (hide social, keep dictionary); Enter dismisses keyboard; email-code autosubmit Ilia Denisov 2026-07-07 14:45:53 +02:00
  • beda6ccd3d fix(ui): iOS soft-keyboard shell alignment + hotseat relock on return Ilia Denisov 2026-07-07 14:10:57 +02:00
  • c1ac77bc6a fix(offline): unify NewGame layout to natural-flow + PinPad verdict pause Ilia Denisov 2026-07-07 13:19:22 +02:00
  • cafe67e9c8 fix(offline): hotseat form — natural scroll + focus-into-view (keyboard) Ilia Denisov 2026-07-07 12:54:57 +02:00
  • 3adc4e32c9 fix(offline): hotseat review fixes + PWA stale-shell (SW route order) Ilia Denisov 2026-07-07 12:35:33 +02:00
  • 903de7d41d fix(offline): unlock finished hotseat games + raise entry budget to 120 Ilia Denisov 2026-07-07 12:04:46 +02:00
  • baa9961c3e docs(offline): document hotseat pass-and-play Ilia Denisov 2026-07-07 11:56:40 +02:00
  • 66278e34b7 test(offline): e2e hotseat flow + fix $state-proxy persist Ilia Denisov 2026-07-07 11:53:50 +02:00
  • 452a686e07 feat(offline): hotseat lobby delete behind the master PIN Ilia Denisov 2026-07-07 11:43:02 +02:00
  • 4ddc690c38 feat(offline): hotseat in-game seat lock + host menu Ilia Denisov 2026-07-07 11:39:43 +02:00
  • 6216359c6f feat(offline): hotseat creation roster + host-participate flow Ilia Denisov 2026-07-07 11:28:17 +02:00
  • 8c67d679d9 feat(offline): hotseat record schema + source (locks, host actions) Ilia Denisov 2026-07-07 11:20:39 +02:00
  • 69673e7727 feat(offline): PIN lock primitives + Apple-style keypad Ilia Denisov 2026-07-07 11:11:13 +02:00
  • d7f3d93c6c Merge pull request 'fix(router): sync route in navigate() — kill boot lobby-flash + offline e2e flake' (#210) from fix/boot-route-lag-e2e-flake into development developer 2026-07-06 23:51:21 +00:00
  • 16cd3d0411 fix(router): update route rune synchronously in navigate() Ilia Denisov 2026-07-07 01:44:16 +02:00
  • ef8a32bb82 Merge pull request 'feat(hint): unify the vs_ai idle hint online + offline (server-enforced, monotonic)' (#209) from feature/online-vsai-hint into development developer 2026-07-06 23:04:38 +00:00
  • 53311cbc95 fix(hint): arm the vs_ai idle-gate from the warm cache so the lock shows without a delay Ilia Denisov 2026-07-07 00:59:06 +02:00
  • 7fc1301b31 feat(hint): unify the vs_ai idle hint online + offline (server-enforced, monotonic) Ilia Denisov 2026-07-07 00:42:43 +02:00
  • ee7ff06403 Merge pull request 'feat(hint): idle-gated wallet-free vs_ai hint on a monotonic clock (B4)' (#207) from feature/offline-hint-gate into development developer 2026-07-06 21:46:18 +00:00
  • 537a265409 Merge branch 'development' into feature/offline-hint-gate Ilia Denisov 2026-07-06 23:23:12 +02:00
  • 8c991429c6 Merge pull request 'fix(offline): zero tile weights on cold boot + wrong-mode game in the lobby' (#208) from fix/offline-alphabet-and-lobby into development developer 2026-07-06 21:21:19 +00:00
  • 359af83c34 fix(offline): zero tile weights on cold boot + wrong-mode game in the lobby Ilia Denisov 2026-07-06 23:11:17 +02:00
  • ff486c80f8 feat(hint): persist the vs_ai idle-hint wait (wall-clock + read sanitiser) Ilia Denisov 2026-07-06 22:34:50 +02:00
  • 42a6308261 feat(hint): idle-gated wallet-free vs_ai hint on a monotonic clock (B4) Ilia Denisov 2026-07-06 22:03:27 +02:00
  • 08792dad3d Merge pull request 'test(offline): mock e2e for a device-local vs_ai game (C8)' (#206) from feature/offline-mock-e2e into development developer 2026-07-06 19:07:40 +00:00
  • e9f4cb0178 test(offline): mock e2e for a device-local vs_ai game (C8) Ilia Denisov 2026-07-06 20:54:03 +02:00
  • 8fbbb3c5ef Merge pull request 'feat(offline): gate the offline toggle on dictionary readiness' (#205) from feature/offline-toggle-readiness into development developer 2026-07-06 18:12:01 +00:00
  • 30770a759b feat(offline): gate the offline toggle on dictionary readiness Ilia Denisov 2026-07-06 20:03:12 +02:00
  • 05c445e4da Merge pull request 'docs(offline): connectivity auto-detect + kill switch user story' (#204) from feature/offline-autodetect-docs into development developer 2026-07-06 17:47:55 +00:00
  • d43a740eb6 docs(offline): document connectivity auto-detect + transport kill switch Ilia Denisov 2026-07-06 19:41:09 +02:00
  • 350013acd9 Merge pull request 'feat(offline): mid-session flight-mode reactivity [PR2]' (#203) from feature/offline-flightmode into development developer 2026-07-06 17:31:17 +00:00
  • 3ad66f49c7 fix(offline): set the auto flag in setOfflineMode; remove temp diagnostic Ilia Denisov 2026-07-06 19:20:59 +02:00
  • 09c5a5e72e chore(offline): TEMPORARY network diagnostic panel (remove before release) Ilia Denisov 2026-07-06 19:03:33 +02:00
  • fffc6030ce fix(offline): poll navigator.onLine to return online (the online event is unreliable) Ilia Denisov 2026-07-06 18:50:10 +02:00
  • fc8143758a fix(offline): return online after flight-mode off; gate online-game actions offline Ilia Denisov 2026-07-06 18:35:52 +02:00
  • e0d28733ff feat(offline): mid-session flight-mode reactivity (auto-offline self-heals) Ilia Denisov 2026-07-06 18:15:12 +02:00
  • ccd65f61b8 Merge pull request 'feat(offline): auto-detect no network at cold start + go-offline dialog [PR1]' (#202) from feature/offline-autodetect into development developer 2026-07-06 16:11:17 +00:00
  • 5bc2ad3b6d feat(offline): auto-detect no network at cold start + 'go offline?' dialog Ilia Denisov 2026-07-06 17:49:53 +02:00
  • 2a4b0fb25e Merge pull request 'fix(offline): delete a finished local game from the device, not the network' (#201) from feature/offline-delete-game into development developer 2026-07-06 15:06:17 +00:00
  • 2a7c632840 Merge pull request 'fix(pwa): network-first navigation so a new deploy loads online immediately' (#200) from feature/sw-fresh-online into development developer 2026-07-06 15:05:37 +00:00
  • 3a72bc29ba fix(offline): delete a finished local game from the device, not the network Ilia Denisov 2026-07-06 16:59:36 +02:00
  • 020742fad3 fix(pwa): network-first navigation so a new deploy loads online immediately Ilia Denisov 2026-07-06 16:45:07 +02:00
  • fd225564a3 Merge pull request 'fix(offline): cold-boot offline from the persisted session + profile' (#199) from feature/offline-boot into development developer 2026-07-06 14:25:11 +00:00
  • fdf14d5897 fix(offline): skip the NewGame friend fetch offline Ilia Denisov 2026-07-06 16:12:50 +02:00
  • 1a456c4847 feat(offline): transport kill switch + gate the network-requiring UI Ilia Denisov 2026-07-06 15:46:22 +02:00
  • 2a045a5b37 fix(offline): give the local human seat the real account id Ilia Denisov 2026-07-06 15:36:51 +02:00
  • 19e7ea5da0 fix(offline): persist a plain profile snapshot; keep the sticky offline flag Ilia Denisov 2026-07-06 15:20:15 +02:00
  • 54d701fd8a fix(offline): cold-boot offline from the persisted session + profile Ilia Denisov 2026-07-06 14:54:09 +02:00
  • ec0c13bebc Merge pull request 'feat(offline): offline lobby — list + create + play local vs_ai games [C6]' (#198) from feature/offline-lobby into development developer 2026-07-06 12:43:23 +00:00
  • 5643c8be10 fix(offline): AI comms hub opens straight to the Dictionary, not via Chat Ilia Denisov 2026-07-06 14:22:01 +02:00
  • 2f70ef1b85 fix(offline): route word-check through the game source; reload lobby on offline flip Ilia Denisov 2026-07-06 14:04:23 +02:00
  • ef832b823d feat(offline): offline lobby lists + creates local vs_ai games Ilia Denisov 2026-07-06 11:35:23 +02:00
  • 99f0a545be Merge pull request 'feat(offline): app-shell precache service worker (vite-plugin-pwa) [C1]' (#197) from feature/offline-pwa-precache into development developer 2026-07-06 09:13:57 +00:00
  • 1a95a5f2cb feat(offline): app-shell precache service worker (vite-plugin-pwa) Ilia Denisov 2026-07-06 11:06:59 +02:00
  • 8abd8b2ae6 Merge pull request 'feat(offline): advertise dict versions + background dictionary preload' (#196) from feature/offline-dict-preload into development developer 2026-07-06 08:45:41 +00:00
  • 2f867b8e6c feat(offline): background-preload dictionaries for offline readiness Ilia Denisov 2026-07-06 10:39:55 +02:00
  • a692024b4e feat(profile): advertise per-variant dictionary versions for offline preload Ilia Denisov 2026-07-06 10:12:58 +02:00
  • 8349e222fc Merge pull request 'feat(offline): offline-mode state, Settings toggle + blue chrome (Phase C)' (#195) from feature/offline-mode-state into development developer 2026-07-06 07:48:49 +00:00
  • 68ecd881d9 feat(offline): offline-mode state, Settings toggle + blue chrome (Phase C) Ilia Denisov 2026-07-06 09:44:05 +02:00
  • d80d28a402 Merge pull request 'feat(offline): wire the local game source into the game screen (Phase B3.2)' (#194) from feature/offline-game-seam-wire into development developer 2026-07-06 07:31:05 +00:00
  • 1654131904 feat(offline): wire the local game source into the game screen (Phase B3.2) Ilia Denisov 2026-07-06 09:24:55 +02:00
  • 9ecbe480db Merge pull request 'feat(offline): local game source (Phase B3.1)' (#193) from feature/offline-game-seam into development developer 2026-07-06 07:13:26 +00:00
  • 32298595f2 feat(offline): local game source (Phase B3.1) Ilia Denisov 2026-07-06 09:07:40 +02:00
  • 2847412b5b Merge pull request 'feat(offline): local game persistence + replay (Phase B2)' (#192) from feature/offline-localgame-store into development developer 2026-07-06 06:34:57 +00:00
  • 4fa77bf82c feat(offline): local game persistence + replay (Phase B2) Ilia Denisov 2026-07-06 08:22:47 +02:00
  • afa44d41b4 Merge pull request 'feat(offline): local game engine (Phase B1)' (#191) from feature/offline-localgame-engine into development developer 2026-07-06 06:15:56 +00:00
  • e4cf143e9f feat(offline): local game engine (Phase B1) Ilia Denisov 2026-07-06 08:02:05 +02:00
  • 543cbe56b9 Merge pull request 'test(offline): real-dictionary move-generator conformance in CI' (#190) from feature/offline-realdict-conformance into development developer 2026-07-06 00:20:57 +00:00
  • a9c8f1ecfe test(offline): real-dictionary move-generator conformance in CI Ilia Denisov 2026-07-06 02:09:42 +02:00
  • d694ead7b6 Merge pull request 'feat(offline): robot move-choice strategy in TS (parity-pinned)' (#189) from feature/offline-robot-strategy into development developer 2026-07-05 23:59:06 +00:00
  • 8c5995c076 feat(offline): port robot move-choice strategy to TS (parity-pinned) Ilia Denisov 2026-07-06 01:54:20 +02:00
  • cedc9ffae1 Merge pull request 'feat(offline): DAWG cursor + move generator in TS (parity-pinned)' (#188) from feature/offline-movegen into development developer 2026-07-05 23:42:58 +00:00
  • c334a9d7b7 feat(offline): port DAWG cursor + move generator to TS (parity-pinned) Ilia Denisov 2026-07-06 01:35:11 +02:00
  • 57ff2d03f8 Merge pull request 'Release v1.11.0: PWA install + code-only PWA login + email/metrics fixes' (#187) from development into master v1.11.0 developer 2026-07-05 21:02:08 +00:00
  • 3a85f64726 Merge pull request 'fix(metrics): second-scale buckets for edge_request_duration' (#186) from fix/edge-latency-histogram-buckets into development developer 2026-07-05 20:55:31 +00:00
  • 00bb66ba0f fix(metrics): second-scale buckets for edge_request_duration Ilia Denisov 2026-07-05 22:49:04 +02:00
  • a2c79c149a Merge pull request 'feat(email): PWA login sends code only; drop admin link from alert emails' (#185) from feature/pwa-login-code-only into development developer 2026-07-05 20:26:04 +00:00
  • 061366da5a feat(email): PWA login sends code only; drop admin link from alert emails Ilia Denisov 2026-07-05 22:13:21 +02:00
  • d19609f87d Merge pull request 'feat(pwa): installable web app + landing web entry' (#184) from feature/pwa-install-cta into development developer 2026-07-05 19:36:37 +00:00
  • 51147a1429 feat(pwa): installable web app + landing web entry Ilia Denisov 2026-07-05 21:05:52 +02:00
  • a9d0986e74 Merge pull request 'Release v1.10.0: banner colours + urgent, and 3 UI fixes' (#183) from development into master v1.10.0 developer 2026-07-05 14:10:25 +00:00
  • d61ba68e9b Merge pull request 'feat(banner): per-campaign colour overrides and urgent alerts' (#182) from feature/banner-colors-urgent into development developer 2026-07-05 13:57:32 +00:00
  • 6db9178449 feat(banner): per-campaign colour overrides and urgent alerts Ilia Denisov 2026-07-05 15:36:35 +02:00
  • ac383880b7 Merge pull request 'fix(ui): hold info toast ~1s before it rises and fades' (#181) from feature/toast-hold-before-fade into development developer 2026-07-05 12:24:08 +00:00
  • 16349f5ad9 Merge pull request 'fix(ui): poll for out-of-band email confirmation' (#180) from feature/email-confirm-poll-fallback into development developer 2026-07-05 12:20:38 +00:00
  • 101a3f118c Merge pull request 'feat(ui): hide current-host sign-in row in profile' (#179) from feature/hide-current-host-signin-row into development developer 2026-07-05 12:16:22 +00:00
  • 400b6ac2a5 fix(ui): hold info toast ~1s before it rises and fades Ilia Denisov 2026-07-05 14:10:34 +02:00
  • fb7490f1df fix(ui): poll for out-of-band email confirmation Ilia Denisov 2026-07-05 13:58:39 +02:00
  • c1805e5b7c feat(ui): hide current-host sign-in row in profile Ilia Denisov 2026-07-05 13:10:40 +02:00
  • 45957bdcd6 Merge pull request 'Release: promote development → master (old Android WebView support + unsupported-engine telemetry)' (#178) from development into master v1.9.0 developer 2026-07-04 21:23:29 +00:00
  • fcedadcb5b Merge pull request 'feat(gateway): unsupported-engine telemetry beacon + Grafana counter' (#177) from feature/unsupported-engine-telemetry into development developer 2026-07-04 21:16:23 +00:00