This website requires JavaScript.
10d4209675
fix(bots): guard possibly-undefined route param, bump arena image to 1.2.11
main
Dorian and Claude
2026-07-31 19:01:19 -04:00
41f1b93e9e
feat(bots): AI-answer settings + claim-winnings UI for existing bots
Dorian and Claude
2026-07-31 14:54:40 -04:00
c162d5ebe9
fix(security): five more IDOR/missing-auth bugs in payments + queue (same class as f5f57e6 )
Dorian and Claude
2026-07-31 13:00:08 -04:00
f5f57e60d9
fix(security): POST /api/auth/update trusted a client-supplied pubkey (IDOR)
Dorian and Claude
2026-07-31 12:06:36 -04:00
d00e792bd9
docs: sync repo's docker-compose.arena.yml image tag to 1.2.9 (deployed via SSH)
Dorian and Claude Fable 5
2026-07-31 10:15:35 -04:00
6464231f5d
feat(payments): wire Cashu as the primary entry-fee UX, fix anonymous-bot ranked auth
Dorian and Claude Fable 5
2026-07-31 10:10:55 -04:00
7341ca0c06
fix(payments): configure BOTFIGHTS_CASHU_MINT_URL (Minibits) on the canonical arena
Dorian and Claude Fable 5
2026-07-31 09:34:14 -04:00
d73f1ab8b7
fix(payments): provision BOTFIGHTS_WALLET_ENCRYPTION_KEY on the canonical arena
Dorian and Claude Fable 5
2026-07-31 09:24:01 -04:00
877d1f6389
fix: broken profile images (CSP img-src), AI-answer discoverability, arena compose tag
Dorian and Claude Fable 5
2026-07-31 08:52:21 -04:00
ca5b63468e
feat: "let BotFights answer for me" — server-side AI bot (poll mode), + Latest Bouts short-viewport fix
Dorian and Claude Fable 5
2026-07-31 08:06:02 -04:00
2512265113
fix: nostr-provider.js 404, DocsPage proxy-unaware URL, round-jump on late viewer join
Dorian and Claude Fable 5
2026-07-31 07:16:24 -04:00
2c039f2af3
fix(nostr): reactive extension detection + native Archipelago signer bridge
Dorian and Claude Fable 5
2026-07-31 06:58:53 -04:00
ffd4dfd25f
fix(setup-guide): stop leaking proxy-mode local addresses into the AI setup prompt
Dorian and Claude Fable 5
2026-07-31 06:37:55 -04:00
603e09b6d8
fix(join-bout): make the setup-guide mode picker visibly do something
Dorian and Claude Fable 5
2026-07-31 06:02:42 -04:00
8eb27ed9b4
fix(security-headers): allow iframe embedding when ARCHY_EMBEDDED=1
Dorian and Claude Fable 5
2026-07-31 05:38:48 -04:00
d2fc998a28
docs(prompt): AI-agent consent preamble, operator-only LLM creds (drop ANTHROPIC_API_KEY pattern), accurate queue-join timing — feedback from first real AI agent test
Dorian and Claude Fable 5
2026-07-30 23:52:18 -04:00
90d5e2d16d
docs(09-05): record cross-instance fighter visibility proof (BOT-03)
Dorian and Claude Fable 5
2026-07-30 23:35:39 -04:00
773112b7f1
docs(09-05): record 1.2.0 public-contract verification evidence
Dorian and Claude Fable 5
2026-07-30 23:26:09 -04:00
51678b4315
feat(09-05): roll the canonical arena to botfights:1.2.0
Dorian and Claude Fable 5
2026-07-30 23:21:43 -04:00
12d4b35404
fix(09-05): GET /api/fights/poll was shadowed by GET /:id, always 404d
Dorian and Claude Fable 5
2026-07-30 23:21:34 -04:00
6f7897b124
feat(09-05): build + push botfights:1.2.0 to the vps2 registry
Dorian and Claude Fable 5
2026-07-30 23:01:03 -04:00
2a343ac746
feat(09-02): retire the bare-pubkey session path (BOT-01)
Dorian and Claude Fable 5
2026-07-30 22:31:26 -04:00
2dd9947516
feat(09-03): point every in-app setup surface at the one prompt, add copy affordances
Dorian
2026-07-30 22:24:48 -04:00
a0809565f2
feat(09-03): serve the unified AI bot-setup prompt at GET /api/docs/prompt
Dorian
2026-07-30 22:23:20 -04:00
bf240cef9e
fix(09-02): sync migrate.ts DDL with schema.ts — fixes 15 pre-existing auth/tournament test failures
Dorian and Claude Fable 5
2026-07-30 22:11:29 -04:00
635ee39373
feat(09-02): GET /api/auth/me — identity from JWT, never a claimed pubkey (BOT-01)
Dorian and Claude Fable 5
2026-07-30 22:09:11 -04:00
e824f4ca7f
test(09-02): add failing test for GET /api/auth/me (BOT-01)
Dorian and Claude Fable 5
2026-07-30 22:03:18 -04:00
bbc3c7acff
docs(09-03): consolidate BOTFIGHTS setup docs into one self-contained AI prompt
Dorian
2026-07-30 22:01:43 -04:00
cfafc22c62
fix(frontend): clipboard polyfill for HTTP (non-secure) contexts — copy buttons threw writeText-of-undefined on nodes
Dorian and Claude Fable 5
2026-07-30 21:46:17 -04:00
4d285f8e93
arena: switch canonical URL to https://botfights.archipelago-foundation.org (NPM+LE live), enable TRUSTED_PROXY
Dorian and Claude Fable 5
2026-07-30 21:44:10 -04:00
a95cadaf9e
test(09-01): verify x-forwarded-for over a real socket, not just presence
Dorian and Claude Fable 5
2026-07-30 21:34:13 -04:00
0511b97cb9
feat(09-01): arena-proxy survives SSE, client-IP forwarding, upstream-down
Dorian and Claude Fable 5
2026-07-30 21:32:57 -04:00
143ca808e8
feat(09-01): arena-proxy middleware — REST forwarding to canonical arena
Dorian and Claude Fable 5
2026-07-30 21:30:24 -04:00
e4b82fd7e9
feat(09-04): deploy canonical BotFights arena on VPS2
Dorian and Claude Fable 5
2026-07-30 21:22:21 -04:00
fb35075b01
fix: arcade mode crash — kaplay go() defers scene init to next frame
Dorian and Claude Opus 4.6
2026-04-11 20:17:10 +01:00
32e6c19f72
stuff
Dorian
2026-04-11 19:46:37 +01:00
52752a92bf
chore: remove duplicated archy skills and redundant hooks
Dorian and Claude Opus 4.6
2026-03-15 12:34:16 +00:00
ebf6667f8f
fix: wire SSE for bot fights on mount — rounds weren't displayed in practice mode
Dorian and Claude Opus 4.6
2026-03-13 23:56:08 +00:00
18e4b05399
fix: practice fights send challenges to polling/webhook bots instead of forcing human mode
Dorian and Claude Opus 4.6
2026-03-13 23:23:37 +00:00
8076d860c7
fix: creator auto-creates as bot (poll mode), auto-upgrade existing human records
Dorian and Claude Opus 4.6
2026-03-13 22:28:43 +00:00
42b1642932
fix: register bot at name confirmation, show credentials in setup step
Dorian and Claude Opus 4.6
2026-03-13 17:36:18 +00:00
d17f6970b9
fix: move setup guide to post-registration step where credentials exist
Dorian and Claude Opus 4.6
2026-03-13 17:15:11 +00:00
2e7a039b8b
fix: serve /docs/*.md as static files, not SPA fallback
Dorian and Claude Opus 4.6
2026-03-13 16:16:44 +00:00
a571ff4b98
fix: add JWT_SECRET and CREATOR_PUBKEYS to docker-compose env
Dorian and Claude Opus 4.6
2026-03-13 16:04:27 +00:00
60dd6893be
fix: replace download with inline copy-paste setup guide, fix CSP for WASM + Nostr relays
overnight/2026-03-12
Dorian and Claude Opus 4.6
2026-03-13 14:06:34 +00:00
cef9f4188f
feat: fix setup guide download with embedded credentials + profile page regenerate secret
Dorian and Claude Opus 4.6
2026-03-13 13:35:48 +00:00
47bc753f95
chore: add vitest coverage dep and gitignore test artifacts
Dorian and Claude Opus 4.6
2026-03-13 12:53:30 +00:00
2c6a019dcb
docs: create PRODUCTION_READY.md — production sign-off document
Dorian and Claude Opus 4.6
2026-03-13 12:40:53 +00:00
aa290f3f8d
fix: add non-root user and healthcheck to Dockerfile
Dorian and Claude Opus 4.6
2026-03-13 12:37:47 +00:00
2f5fe4f350
test: add regression tests for BUG-4, BUG-6, BUG-7, BUG-F2
Dorian and Claude Opus 4.6
2026-03-13 12:35:48 +00:00
a358374d71
test: verify all E2E specs pass, fix flaky tests and creative scoring
Dorian and Claude Opus 4.6
2026-03-13 12:28:39 +00:00
42d79487a1
test: add odds calculation and retro-moves coverage — 50 tests
Dorian and Claude Opus 4.6
2026-03-13 10:46:03 +00:00
2c83858115
fix: correct challenge audit test assertions — actual distribution and crit rates
Dorian and Claude Opus 4.6
2026-03-13 10:38:26 +00:00
cae8f0b83e
test: add comprehensive auth audit — 28 tests verify endpoint protection
Dorian and Claude Opus 4.6
2026-03-13 10:37:46 +00:00
18b92fbbdf
test: API auth audit — 18 tests verify auth, rate limiting, validation, error sanitization
Dorian and Claude Opus 4.6
2026-03-13 10:34:08 +00:00
eac8539825
fix: update hono 4.7.6→4.12.6, @hono/node-server 1.14.1→1.19.10, override tar/serialize-javascript
Dorian and Claude Opus 4.6
2026-03-13 10:30:56 +00:00
321ccdec7b
test: add 39 regression tests covering BUG-1 through BUG-S9
Dorian and Claude Opus 4.6
2026-03-13 10:25:07 +00:00
6a00cfe324
test: add soak and stress tests — 1000 fights, 50 concurrent queue joins
Dorian and Claude Opus 4.6
2026-03-13 10:20:50 +00:00
27b3b89424
test: add payment/betting edge cases — concurrent bets, draw refunds, validation
Dorian and Claude Opus 4.6
2026-03-13 10:17:55 +00:00
f15504b400
test: add auth registration edge cases — concurrent names, expired JWT, NIP-98 tampering
Dorian and Claude Opus 4.6
2026-03-13 10:15:13 +00:00
5799ff60d3
test: auth & registration edge cases — unicode names, shared URLs
Dorian and Claude Opus 4.6
2026-03-13 10:11:12 +00:00
2dd09fb954
test: add simultaneous KO and negative ELO edge cases
Dorian and Claude Opus 4.6
2026-03-13 10:10:49 +00:00
ffad432e5b
test: 10-round double timeout simulation — draw, equal HP, no loops
Dorian and Claude Opus 4.6
2026-03-13 10:10:15 +00:00
9346b6b260
test: add ELO extremes and challenge rotation edge cases
Dorian and Claude Opus 4.6
2026-03-13 10:09:36 +00:00
135bf644fa
test: add 17 fight engine edge case tests
Dorian and Claude Opus 4.6
2026-03-13 10:07:20 +00:00
08437cdf5c
test: add static analysis tests for memory leak destroy contracts
Dorian and Claude Opus 4.6
2026-03-13 10:06:42 +00:00
854b1cd1df
fix: prevent memory leaks on consecutive fight replays
Dorian and Claude Opus 4.6
2026-03-13 10:04:03 +00:00
aa263ec8ae
test: verify TTS cache uses LRU eviction, not FIFO (BUG-8)
Dorian and Claude Opus 4.6
2026-03-13 10:00:59 +00:00
8afdc2d898
fix: replace raw setTimeout with tracked timers in game audio (BUG-4)
Dorian and Claude Opus 4.6
2026-03-13 09:59:16 +00:00
3c5c6c6b95
fix: improve graceful shutdown — stop loop, drain fights, clear all state
Dorian and Claude Opus 4.6
2026-03-13 09:54:10 +00:00
4134a27ea6
feat: improve graceful shutdown — stop bg loop, drain fights, clear state
Dorian and Claude Opus 4.6
2026-03-13 09:53:39 +00:00
023a1a58a9
test: verify orphaned fight cleanup cancels stale live fights
Dorian and Claude Opus 4.6
2026-03-13 09:49:27 +00:00
9b0d251d1c
fix: sanitize error responses to prevent internal detail leakage
Dorian and Claude Opus 4.6
2026-03-13 09:46:38 +00:00
1b1f9eb2d7
chore: add composite (is_active, elo_rating) index for leaderboard queries
Dorian and Claude Opus 4.6
2026-03-13 09:41:30 +00:00
d3bb00c5c8
feat: add per-phase timing instrumentation to fight orchestration
Dorian and Claude Opus 4.6
2026-03-13 09:35:42 +00:00
dc9884e27e
test: verify wallet disconnect wipes connection data from DB
Dorian and Claude Opus 4.6
2026-03-13 09:33:50 +00:00
b1e86843a7
test: audit AES-256-GCM crypto with 7 test cases
Dorian and Claude Opus 4.6
2026-03-13 09:33:08 +00:00
c5744f5984
test: pentest payment edge cases with 10 attack vector tests
Dorian and Claude Opus 4.6
2026-03-13 09:32:19 +00:00
2fea2bf8c9
test: verify error responses never leak stack traces or file paths
Dorian and Claude Opus 4.6
2026-03-13 09:30:55 +00:00
21bb46c1b0
test: verify admin endpoints require creator pubkey on all routes
Dorian and Claude Opus 4.6
2026-03-13 09:29:08 +00:00
d4c51f0aac
fix: tighten auth rate limits to 10/min and add rate limit tests
Dorian and Claude Opus 4.6
2026-03-13 09:28:38 +00:00
9de47fd760
test: add timing attack tests for bot-auth and use timingSafeEqual
Dorian and Claude Opus 4.6
2026-03-13 09:26:39 +00:00
5bf557ba6a
fix: only trust proxy headers in rate-limit when TRUSTED_PROXY is set
Dorian and Claude Opus 4.6
2026-03-13 09:23:10 +00:00
0131949643
fix: harden SSRF protection and add comprehensive tests
Dorian and Claude Opus 4.6
2026-03-13 09:21:16 +00:00
2051a95e13
refactor: add centralized Zod validators for all API inputs
Dorian and Claude Opus 4.6
2026-03-13 09:16:04 +00:00
55d0f84251
chore: pin all dependency versions for reproducible builds
Dorian and Claude Opus 4.6
2026-03-13 06:21:16 +00:00
e2dc2bbd70
feat: add eslint-plugin-security rules for static analysis
Dorian and Claude Opus 4.6
2026-03-13 05:26:10 +00:00
abc081487c
fix: pass archetype/customization to human morph sprite generation (BUG-10)
Dorian and Claude Opus 4.6
2026-03-13 05:23:53 +00:00
7698d560d6
fix: webhook verify shows loading spinner and better error on failure
Dorian and Claude Opus 4.6
2026-03-13 05:20:14 +00:00
642da1e477
fix: polling backoff escalates on errors — 1.5s → 3s → 6s → 8s max
Dorian and Claude Opus 4.6
2026-03-13 05:18:00 +00:00
5bc8932d25
test: E2E specs for signup, fight replay, and leaderboard flows
Dorian and Claude Opus 4.6
2026-03-13 05:15:46 +00:00
a7520be0e7
test: add Playwright E2E infrastructure with smoke test
Dorian and Claude Opus 4.6
2026-03-13 05:14:15 +00:00
5e40221a2f
test: SSE, polling, human, and concurrent fight integration tests
Dorian and Claude Opus 4.6
2026-03-13 05:10:27 +00:00
41c66d7732
test: full fight flow integration test with real in-memory DB
Dorian and Claude Opus 4.6
2026-03-13 05:00:25 +00:00
fc00490d61
test: speed meta analysis — 50ms gap wins 95.4% when both correct
Dorian and Claude Opus 4.6
2026-03-13 04:56:01 +00:00
9c55850b70
test: tier balance analysis — system well-balanced across all tiers
Dorian and Claude Opus 4.6
2026-03-13 04:54:37 +00:00
929758ed1b
test: combo snowball analysis — 60.4% rate, under 70% threshold
Dorian and Claude Opus 4.6
2026-03-13 04:50:52 +00:00
9ad8f1f1eb
fix: both-wrong partial credit + tiebreaker
Dorian and Claude Opus 4.6
2026-03-13 04:47:04 +00:00
c6c792dd9e
feat: add answer confidence differential as scoring factor
Dorian and Claude Opus 4.6
2026-03-13 04:45:53 +00:00
cb8a45cfb3
fix: lower critical hit threshold from 4 to 3
Dorian and Claude Opus 4.6
2026-03-13 04:44:29 +00:00