extremely claude-assisted go game based on atproto! working on cleaning up and giving a more unique design, still has a bit of a slop vibe to it.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 100 lines 2.7 kB view raw view rendered
1# Bug Fixes - Local Development Setup 2 3## Summary 4Fixed critical issues blocking local development after Cloudflare migration. 5 6## Issues Fixed 7 8### 1. OAuth API Breaking Changes (✅ Fixed) 9**Problem:** `@atcute/oauth-node-client` v1.1.0 removed `importJwkKey` export 10 11**Solution:** 12- Updated to use `ClientAssertionPrivateJwk` type directly 13- Parse JWK JSON and pass as array to keyset parameter 14- Updated key generation script to use `generateClientAssertionKey` 15 16**Files Changed:** 17- `src/lib/server/auth.ts` 18- `scripts/generate-key.ts` 19 20### 2. Missing Local Development Fallbacks (✅ Fixed) 21**Problem:** App required Cloudflare D1 and KV which aren't available in local dev 22 23**Solution:** 24- Database: Falls back to better-sqlite3 when D1 not available 25- OAuth Storage: Falls back to MemoryStore when KV not available 26- Environment: Reads from process.env when platform.env not available 27- Added dotenv back for local development 28 29**Files Changed:** 30- `src/lib/server/db.ts` 31- `src/lib/server/auth.ts` 32- `src/hooks.server.ts` 33 34### 3. ESM/CommonJS Module Issues (✅ Fixed) 35**Problem:** `require is not defined` error in ESM modules 36 37**Solution:** 38- Use `createRequire` from 'module' to enable CommonJS in ESM 39- Keep getDb synchronous to avoid breaking 16+ call sites 40 41**Files Changed:** 42- `src/lib/server/db.ts` 43 44### 4. OAuth Key Generation (✅ Fixed) 45**Problem:** Key generation script using old API, detecting commented keys 46 47**Solution:** 48- Updated to use `generateClientAssertionKey` from @atcute/oauth-crypto 49- Fixed regex to only detect uncommented PRIVATE_KEY_JWK lines 50 51**Files Changed:** 52- `scripts/generate-key.ts` 53 54## Current Status 55 56### ✅ Working 57- OAuth key generation (`npm run setup:key`) 58- Database initialization (SQLite local fallback) 59- Environment configuration (.env loading) 60- Build process (`npm run build`) 61 62### ⚠️ Needs Testing 63- Dev server runtime (`npm run dev`) 64- OAuth login flow 65- Game creation and moves 66- Image generation endpoints 67 68### 📋 Next Steps 691. Test dev server with all endpoints 702. Verify OAuth flow works end-to-end 713. Test game creation and gameplay 724. Add reactions feature 735. Deploy to Cloudflare Pages 74 75## Development Setup 76 77To run locally: 78```bash 79# 1. Install dependencies 80npm install 81 82# 2. Generate OAuth keys 83npm run setup:key 84 85# 3. Start dev server 86npm run dev 87``` 88 89The app will use: 90- SQLite database at `./data/app.db` 91- MemoryStore for sessions/state 92- OAuth with generated JWK keys 93 94## Deployment Notes 95 96For Cloudflare Pages deployment: 97- D1 database will be used instead of SQLite 98- KV namespaces will be used instead of MemoryStore 99- Environment secrets from Cloudflare dashboard 100- See `CLOUDFLARE_DEPLOYMENT.md` for details