Commit graph

285 commits

Author SHA1 Message Date
Ayo
dd9e020214 chore: update packages status on readme 2026-07-04 12:21:59 +02:00
Ayo
6c90cde0f9 feat(move-log): game-agnostic move events 2026-07-04 12:21:06 +02:00
Ayo
0823d43c75 feat(core): move events 2026-07-04 12:02:10 +02:00
Ayo
d3d84aa9b8 feat(core): resume games 2026-07-04 11:52:38 +02:00
Ayo
d482b17976 feat(core): serializeable game state 2026-07-04 11:48:08 +02:00
Ayo
8099820e79 feat(core): board injection 2026-07-04 11:39:55 +02:00
Ayo
916d04d0d9 feat(mnswpr): first-move safety 2026-07-04 11:32:01 +02:00
Ayo
d7a9f61a9e refactor: core generateBoard function 2026-07-04 11:24:25 +02:00
Ayo
5a7eea3e12 chore: update packages table with published or documented :) 2026-07-04 11:14:05 +02:00
Ayo
744825c771 chore: fix messed up markdown :) 2026-07-04 10:46:30 +02:00
Ayo
9aec20edbf chore: add roadmap to readme 2026-07-04 10:35:55 +02:00
Ayo
6afd15aa35 chore: headless design 2026-07-04 10:05:43 +02:00
Ayo
8b66249edf chore: Add CONTRIBUTING.md guide for humans 2026-07-04 09:55:54 +02:00
Ayo
5ec22fe37e chore: add contribution guidance 2026-07-04 09:19:22 +02:00
Ayo
062b912549 feat: mnswpr client 2026-07-04 08:17:54 +02:00
Ayo
042d6b26e9 feat: mnswpr core 2026-07-04 07:49:46 +02:00
Ayo
7cbf9baaa8 chore: security hardening 2026-07-03 23:04:52 +02:00
Ayo
0532fd6d66 chore: infra tooling and configs 2026-07-03 21:54:29 +02:00
Ayo
7685a6dea7 chore: monorepo scripts (dev, build, db, etc) 2026-07-03 20:25:33 +02:00
Ayo
74551f2023 chore: move mnswpr db migration doc to app dir 2026-07-03 16:14:15 +02:00
Ayo
969ebba067 chore: restructure to new cozy-games monorepo
Reviewed-on: https://git.ayo.run/ayo/cozy-games/pulls/1
Co-authored-by: Ayo <ayo@ayco.io>
Co-committed-by: Ayo <ayo@ayco.io>
2026-07-03 13:53:13 +00:00
Ayo
5f6e389258 chore: update readme message 2026-07-03 15:46:50 +02:00
Ayo
7b68c677ef chore: add message of move to cozy-games 2026-07-03 15:45:20 +02:00
Ayo
4fa88fb431 feat: reusable, time-windowed leaderboard (@cozy-games/leaderboard)
Extract the leaderboard into a generic, backend-agnostic package and add
rolling Today/Week/Month/All-Time windows, a web component, and local-first
development against the Firestore emulator.

Package (leaderboard/):
- LeaderBoardService: backend-agnostic core via a storage-adapter seam, with
  Firebase and Supabase adapters (Supabase client injected, no added dep)
- Rolling time windows (last 24h / 7d / 30d) with hover tooltips; top-N by score
- <cozy-leaderboard> web component built on web-component-base: compose the UI
  in HTML, configure the backend once in JS
- Every user-facing string is configurable (labels, tooltips, empty/loading/
  error messages, anonymous name) so i18n lives in the app; README + CONFIGURATION

App (mnswpr.com):
- Compose the board declaratively in index.html via <cozy-leaderboard>
- Nickname + randomized greeting bar; score submission through the element
- Legends: the current all-time leaders frozen into a static /legends page
- Firebase config and leaderboard namespace via Vite env vars; emulator-first
  local dev (VITE_FIRESTORE_EMULATOR)

Firebase schema-as-code:
- firebase.json, .firebaserc, firestore.rules (public reads, create-only scores,
  no client updates/deletes, namespace-generalized), empty indexes (rolling
  windows need none)
- prod (mw-*) vs dev/test (mw-test-*) separation by collection namespace
- emulator config, seed script, and docs (firebase-leaderboards.md,
  leaderboard-env-migration.md, AYO.md)

Utils/tests: UTC date-bucket helper (retained as metadata) with Vitest coverage.

Reviewed-on: https://git.ayo.run/ayo/mnswpr/pulls/1
Co-authored-by: Ayo <ayo@ayco.io>
Co-committed-by: Ayo <ayo@ayco.io>
2026-07-03 13:42:03 +02:00
Ayo
28b90b1dab chore: update readme 2026-07-03 10:32:15 +02:00
Ayo
207e253c69 chore: add sreenshot 2026-07-03 10:29:17 +02:00
Ayo
b6f43751d9 chore: manual npm login on publish 2026-07-03 10:14:32 +02:00
Ayo
8afd8942aa chore: release v0.4.36 2026-07-03 10:12:31 +02:00
Ayo
0704c1e2ec chore: README.md is same in repo as package 2026-07-03 10:11:56 +02:00
Ayo
8774bc8092 chore: update readme 2026-07-03 10:00:25 +02:00
Ayo
21bfce4c04 chore: refactor the release script 2026-07-03 09:16:32 +02:00
Ayo
2038badb13 chore: release v0.4.35 2026-07-02 21:54:45 +02:00
Ayo
76e95d20da refactor: flood-fill logic 2026-07-02 21:54:09 +02:00
Ayo
a1742e3a58 perf: win check now tracks safe cells revealed instead of scanning the whole grid 2026-07-02 21:17:29 +02:00
Ayo
a2d8d975ec refactor: separate globalEventHandlers from cell-specific event handlers 2026-07-02 21:10:53 +02:00
Ayo
749b47fe40 perf: track a small list of highlighted cells 2026-07-02 20:55:03 +02:00
Ayo
6e6cf2c4f8 perf: render timer less frequently 2026-07-02 20:46:46 +02:00
Ayo
bf26d3e80a test: add tests 2026-07-02 20:31:29 +02:00
Ayo
1bd3135dac perf: improve mines lookup 2026-07-02 20:31:14 +02:00
Ayo
81f310e7cc chore: initial agentic instructions 2026-07-02 19:32:52 +02:00
Ayo
35e9f4441e chore: update package manager 2026-06-24 14:21:01 +02:00
Ayo
8fcaeecf41 chore: release v0.4.34 2026-06-22 22:15:42 +02:00
Ayo
18a7713149 feat(app): remove links to npm & github 2026-06-22 22:15:31 +02:00
Ayo
b8a1116494 chore: release v0.4.33 2026-06-22 22:06:50 +02:00
Ayo
113492cb97 feat(app): link to version releaseReset 2026-06-22 22:06:28 +02:00
Ayo
deeae32bfd chore: new release package script 2026-06-22 21:58:45 +02:00
Ayo
04445774e3 chore: release v0.4.32 2026-06-22 21:57:13 +02:00
Ayo
d40089b630 fix: leader board gets duplicated when switching levels while previous is still loading 2026-06-22 21:50:08 +02:00
Ayo
832afc1128 chore: add vite build app monorepo script 2026-04-05 15:31:10 +02:00
Ayo
4f3897bfaf chore(lib): move vite config to lib dir 2026-04-04 01:22:04 +02:00