Skip to content

[RELEASE]: Clueless Archive and core logic migration - #146

Merged
nonsoo merged 27 commits into
mainfrom
development
Apr 7, 2026
Merged

nonsoo merged 27 commits into
mainfrom
development

Conversation

@nonsoo

@nonsoo nonsoo commented Apr 7, 2026

Copy link
Copy Markdown
Owner

Here we migrate the core game logic over to a zustand provider such that we can integrate new features in the future. We also integrate a the "Clueless Archive" which allows users to play past challenges.

nonsoo and others added 27 commits April 3, 2026 10:29
* feat: creates zustand store for game

* feat: adds GameStatisticsStore

* feat: implements game and stat store

* chore: moves store to context

* refactor: moves initial gameState to server

* chore: prevents game stat from being created

* chore: eslint fixes

* refactor: caches page instead of function

* chore: package lock fix

* refactor: to use individual states

* fix: infinate loop caused by suspense

* fix: hydration of persisted game store state

* fix: zustands games stores

* fix: rehydration of store

* chore lint errors

* chore: fix isGuessInWordLst

* refactor: moves logic to server file and cleans up logic

* refactor: endGame

* fix: tests

* chore: game test

* chore: game statistics test

* refactor: useCountDown for simplicity

* fix: package lock

* refactor: moves date to page

* refactor: moves generic skeleton to layout
Here users will be able to play past games by loading the the clueless archive.
feat: adds random day Selecto to archive
refactor: changes createWordListSetMap to generate a cached value
fix: update WordListThemeConstant type definition and ensure type satisfaction in word-lists
fix: archivedDate for the archived game page
* fix: timezones

* fix: The Vitest worker startup failures have been resolved.

The error require() cannot be used on an ESM graph with top-level await was caused by jsdom's dependency on @asamuzakjp/css-color which uses ESM with top-level await, incompatible with Vitest's worker processes.

Solution Applied
Changed pool to threads: Added pool: 'threads' to vitest.config.ts to avoid fork process issues
Switched to happy-dom: Changed environment: "jsdom" to environment: "happy-dom" for better ESM compatibility
Installed happy-dom: Added happy-dom as a dev dependency

* fix: lock
* feat: adds play another archived game for end game

* fix: remove ViewTransition from RootPage component
* refactor: baseline date definition

* chore: clean up codebase
@nonsoo nonsoo self-assigned this Apr 7, 2026
@vercel

vercel Bot commented Apr 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
syno-guesser Ready Ready Preview, Comment Apr 7, 2026 4:05am

@nonsoo nonsoo changed the title release [RELEASE]: Clueless Archive and core logic migration Apr 7, 2026
@nonsoo
nonsoo merged commit 28dc991 into main Apr 7, 2026
3 checks passed
nonsoo added a commit that referenced this pull request Apr 11, 2026
* chore: bump packages

* chore: bump perfectionist and fix breaking changes

* chore: upgrades package lock

* chore: removes base url

* refactor: Zustand integration (#135)

* feat: creates zustand store for game

* feat: adds GameStatisticsStore

* feat: implements game and stat store

* chore: moves store to context

* refactor: moves initial gameState to server

* chore: prevents game stat from being created

* chore: eslint fixes

* refactor: caches page instead of function

* chore: package lock fix

* refactor: to use individual states

* fix: infinate loop caused by suspense

* fix: hydration of persisted game store state

* fix: zustands games stores

* fix: rehydration of store

* chore lint errors

* chore: fix isGuessInWordLst

* refactor: moves logic to server file and cleans up logic

* refactor: endGame

* fix: tests

* chore: game test

* chore: game statistics test

* refactor: useCountDown for simplicity

* fix: package lock

* refactor: moves date to page

* refactor: moves generic skeleton to layout

* feat: adds archived games (#136)

Here users will be able to play past games by loading the the clueless archive.

* refactor: moves archived game toggle

* refactor: word generation to allow for themes of word lists

* feat: adds random day selector to archive

* fix: test to remove archived game prop

* fix: themes feature

* feat: adds cached themed list

* refactor: moves startDate to wordList

* fix: update WordListThemeConstant type definition and ensure type satisfaction in word-lists

* fix: archivedDate for the archived game page

* refactor: game provider props to use values internally

* fix: timezones (#143)

* fix: timezones

* fix: The Vitest worker startup failures have been resolved.

The error require() cannot be used on an ESM graph with top-level await was caused by jsdom's dependency on @asamuzakjp/css-color which uses ESM with top-level await, incompatible with Vitest's worker processes.

Solution Applied
Changed pool to threads: Added pool: 'threads' to vitest.config.ts to avoid fork process issues
Switched to happy-dom: Changed environment: "jsdom" to environment: "happy-dom" for better ESM compatibility
Installed happy-dom: Added happy-dom as a dev dependency

* fix: lock

* Fix view transitions (#144)

* feat: adds play another archived game for end game

* fix: remove ViewTransition from RootPage component

* chore: cleanup codebase (#145)

* refactor: baseline date definition

* chore: clean up codebase

This branch was successfully deployed

1 active deployment
Preview — 3448aad2 Deployed Apr 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant