24 commits in all time Feb 01, 2026 10:04 – May 02, 2026 10:04 UTC
code-alexander algoku
fix(ci): unblock e2e by injecting VITE vars and skipping algokit codegen
Playwright's webServer was running `npm run dev`, which chains
`algokit project link --all` — algokit isn't available in CI, so the
webServer exited with 127. Point the webServer at `vite` directly; the
generated client is already committed.

With the webServer up, App.tsx threw at render because
getAlgodConfigFromViteEnvironment requires VITE_ALGOD_SERVER and no
.env exists in CI. Provide the VITE_* vars via a job-level env block
(vite reads them from process.env) so CI doesn't depend on a .env file
being synthesized at runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Git Commit 23914858 Branch main Document 2/15 ++ 1 --
code-alexander algoku
Revert "fix: skip algokit codegen in playwright webServer"
This reverts commit b63f53902d8860fef7a913b68d52558d44aa37dd.
Git Commit 0dd2c59b Branch main Document 1/1 ++ 1 --
code-alexander algoku
fix: skip algokit codegen in playwright webServer
`npm run dev` chains `generate:app-clients` (algokit project link), which
fails in CI because algokit isn't installed. The generated client is
committed, so the e2e webServer only needs vite.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Git Commit b63f5390 Branch main Document 1/1 ++ 1 --
code-alexander algoku
fix: pass TypedArray to subtle.digest to avoid cross-realm ArrayBuffer
Vitest's jsdom environment swaps globalThis.ArrayBuffer for jsdom
realm's constructor, while globalThis.crypto.subtle remains Node's
native WebCrypto. The old `new ArrayBuffer(...)` copy then failed Node's
strict instanceof check under Node 20 CI. TypedArrays survive the
realm crossing, so pass a fresh Uint8Array and drop the earlier
webcrypto polyfill attempt (it was treating the wrong symptom).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Git Commit b2e52e9a Branch main Document 2/1 ++ 9 --
code-alexander algoku
fix: polyfill webcrypto jsdom
Git Commit be85ffb4 Branch main Document 1/6 ++ 0 --
code-alexander algoku
chore: remove cd workflows
Git Commit c6642ecf Branch main Document 3/6 ++ 94 --
code-alexander algoku
style: let leaderboard addresses truncate to fit sidebar width
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Git Commit d131043f Branch main Document 1/1 ++ 2 --
code-alexander algoku
feat: difficulty adjustment
Git Commit 4d425987 Branch main Document 8/421 ++ 90 --
code-alexander algoku
fix: bind mint service to canonical app id instead of per-wallet deploy
Frontend was calling factory.deploy() on every wallet, which is per-sender —
each new wallet deployed its own forked Algoku app, fragmenting mints across
apps the leaderboard never queries. Now binds via factory.getAppClientById
when a canonical app id is configured (testnet/mainnet); deploy fallback is
preserved for localnet/dev.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Git Commit 6d632506 Branch main Document 2/25 ++ 14 --
code-alexander algoku
fix: collapsible header style on mobile
Git Commit 06659564 Branch main Document 2/2 ++ 1 --
code-alexander algoku
feat: lute wallet connector
Git Commit 7aa826af Branch main Document 6/157 ++ 17 --
code-alexander algoku
Merge branch 'main' of https://github.com/code-alexander/algoku
Git Commit afa3262d Branch main Document 1/3 ++ 53 --
code-alexander algoku
style: reduce y-axis padding
Git Commit 109666aa Branch main Document 3/3 ++ 3 --
code-alexander algoku
perf: react improvements
Git Commit 1a60ec7b Branch main Document 14/282 ++ 136 --
code-alexander algoku
refactor: UI improvements + mint state machine
Git Commit 4e0ac2a7 Branch main Document 18/1,212 ++ 319 --
code-alexander algoku
fix: vercel build cmd
Git Commit e9dc434c Branch main Document 1/3 ++ 0 --
code-alexander algoku
feat(frontend): hoist AlgorandClient singleton and fetch asset roundTime
- Switch both hooks to the shared algorand singleton from src/lib/algorand.ts
- useOwnedAlgokuAssets: fetch each holding's acfg creation tx in parallel so
  createdAtUnix can be populated, enabling newest-first sort

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Git Commit 3867234b Branch main Document 2/27 ++ 40 --
code-alexander algoku
chore: cleanup ignores, drop puzzle-extract recipe, add algorand client singleton
- gitignore: ignore .claude/ and **/.algokit/; drop stale /puzzles/ entry
- justfile: remove extract-puzzles recipe
- frontend: hoist AlgorandClient.fromConfig into shared src/lib/algorand.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Git Commit 9de557e4 Branch main Document 3/11 ++ 9 --