-
121959ba27
docs(CLAUDE.md): staging deploy verification checklist
main
v3.3.5.2
adlee-was-taken
2026-04-18 14:06:37 -04:00
-
612eccf03b
fix(ci): force-update tags on deploy fetch
v3.3.5.1
adlee-was-taken
2026-04-18 14:02:06 -04:00
-
76a9de27c2
chore(staging): wire LEADERBOARD_INCLUDE_TEST_DEFAULT into compose
v3.3.5
adlee-was-taken
2026-04-18 00:55:00 -04:00
-
f37f279098
chore: bump version to 3.3.5
adlee-was-taken
2026-04-18 00:50:30 -04:00
-
c02b0054c2
fix(server): winner_id on completed games + stats idempotency latch
adlee-was-taken
2026-04-18 00:47:53 -04:00
-
8030a3c171
fix(server): populate games_v2 metadata on game start
adlee-was-taken
2026-04-18 00:41:58 -04:00
-
d5f8eef6b3
fix(server): mark games abandoned on room teardown + staging leaderboard
adlee-was-taken
2026-04-18 00:37:49 -04:00
-
70498b1c33
fix(soak): multi-hole round transitions, token refresh, dashboard wiring
adlee-was-taken
2026-04-17 20:37:24 -04:00
-
ccc2f3b559
fix(server): game completion pipeline — stats recording + dict iteration safety
adlee-was-taken
2026-04-17 20:37:08 -04:00
-
d5194f43ba
docs(soak): full README + validation checklist
adlee-was-taken
2026-04-11 23:05:22 -04:00
-
b9cc7d29cf
Merge feat/soak-harness: multiplayer soak & UX test harness + v3.3.4
v3.3.4.1
adlee-was-taken
2026-04-11 22:58:36 -04:00
-
-
b8bc432175
feat(soak): artifacts, graceful shutdown, health probes, smoke script, v3.3.4
adlee-was-taken
2026-04-11 22:57:15 -04:00
-
d3b468575b
feat(soak): per-room watchdog + heartbeat wiring + multi-game lobby fix
adlee-was-taken
2026-04-11 21:52:49 -04:00
-
921a6ad984
feat(soak): stress scenario with chaos injection
adlee-was-taken
2026-04-11 21:49:30 -04:00
-
c307027dd0
feat(soak): --watch=tiled launches N headed host windows
adlee-was-taken
2026-04-11 21:01:21 -04:00
-
21fe53eaf7
feat(soak): click-to-watch live video via CDP screencast
adlee-was-taken
2026-04-11 20:54:52 -04:00
-
34ce7d1d32
feat(soak): Screencaster — CDP Page.startScreencast wrapper
adlee-was-taken
2026-04-11 19:06:17 -04:00
-
796de876b7
feat(soak): wire --watch=dashboard in runner
adlee-was-taken
2026-04-11 19:05:44 -04:00
-
a35e789eb9
feat(soak): dashboard status grid UI
adlee-was-taken
2026-04-11 18:55:21 -04:00
-
9d1d4f899b
feat(soak): DashboardServer — vanilla http + ws
adlee-was-taken
2026-04-11 18:53:59 -04:00
-
d1688aae0b
feat(soak): runner.ts end-to-end with --watch=none
adlee-was-taken
2026-04-11 18:52:08 -04:00
-
a6a276b509
fix(bot): GolfBot handles authenticated sessions + num-decks stepper
adlee-was-taken
2026-04-11 18:52:07 -04:00
-
6df81e6f8d
feat(soak): CLI parsing + config precedence
adlee-was-taken
2026-04-11 17:25:04 -04:00
-
2c20b6c7b5
feat(soak): populate scenario + scenario registry
adlee-was-taken
2026-04-11 17:23:56 -04:00
-
722934bdf2
feat(soak): shared runOneMultiplayerGame helper
adlee-was-taken
2026-04-11 17:23:00 -04:00
-
2a86b3cc54
feat(soak): scripts/seed-accounts.ts CLI wrapper
adlee-was-taken
2026-04-11 17:22:10 -04:00
-
3bc0270eb9
feat(soak): SessionPool — seed, login, acquire contexts
adlee-was-taken
2026-04-11 17:19:39 -04:00
-
066e482f06
feat(soak): structured JSONL logger with child contexts
adlee-was-taken
2026-04-11 17:12:27 -04:00
-
02642840da
feat(soak): RoomCoordinator with host→joiners handoff
adlee-was-taken
2026-04-11 17:11:05 -04:00
-
1565046ab7
feat(soak): core types + Deferred primitive
adlee-was-taken
2026-04-11 16:58:56 -04:00
-
5478a4299e
feat(soak): scaffold tests/soak package
adlee-was-taken
2026-04-11 08:19:09 -04:00
-
835a79cc0f
docs: soak harness bring-up steps
adlee-was-taken
2026-04-11 01:23:13 -04:00
-
983518e93d
feat(admin): visible Test/Test-seed badges + filter toggle
adlee-was-taken
2026-04-11 01:20:09 -04:00
-
917ef2a239
feat(server): admin users list surfaces is_test_account
adlee-was-taken
2026-04-11 01:09:37 -04:00
-
b5a25b4ae5
feat(server): stats queries support include_test filter
adlee-was-taken
2026-04-11 00:33:38 -04:00
-
0891e6c979
feat(server): register flow flags accounts from test-seed invites
adlee-was-taken
2026-04-11 00:16:56 -04:00
-
1f20ac9535
feat(server): expose marks_as_test on InviteCode
adlee-was-taken
2026-04-11 00:11:34 -04:00
-
8e23adee14
feat(server): propagate is_test_account through User model & store
adlee-was-taken
2026-04-11 00:01:53 -04:00
-
3817566ed5
docs: rename test-account index to match users_v2 convention
adlee-was-taken
2026-04-10 23:52:55 -04:00
-
d16367582c
feat(server): add is_test_account + marks_as_test schema
adlee-was-taken
2026-04-10 23:48:35 -04:00
-
-
e8051b256b
docs(plan): harden soak-harness schema migration for deploy
adlee-was-taken
2026-04-10 23:40:28 -04:00
-
cf916d7bc3
docs: implementation plan for multiplayer soak harness
adlee-was-taken
2026-04-10 23:37:15 -04:00
-
97036be319
docs: multiplayer soak & UX test harness design
adlee-was-taken
2026-04-10 23:03:28 -04:00
-
52d7118c33
Add favicon and prod deploy script
v3.3.4
v3.3.3
adlee-was-taken
2026-04-07 20:37:36 -04:00
-
d7631ec671
Fix CI: remove checkout step, runner can't resolve gitea hostname
v3.3.2
adlee-was-taken
2026-04-07 19:51:54 -04:00
-
f6eeaed97d
Fix CI/CD: use SSH-based build instead of Docker-in-Docker
v3.3.1
adlee-was-taken
2026-04-07 19:49:35 -04:00
-
ef54ac201a
Add invite request system and Gitea Actions CI/CD pipeline
v3.3.0
adlee-was-taken
2026-04-07 19:38:52 -04:00
-
0c0588f920
TUI: add double-escape quit and minor layout tweaks
adlee-was-taken
2026-04-07 19:38:38 -04:00
-
420928f11e
Reconcile docker-compose.prod.yml drift with droplet (INC-0001/AI-10)
adlee-was-taken
2026-04-05 16:27:14 -04:00
-
bc9445f06e
Relicense project under GPL-3.0-or-later
adlee-was-taken
2026-04-05 09:26:06 -04:00
-
ea34ddf8e4
Fix swap animation stutter and remove 1s server-side dead delay
adlee-was-taken
2026-03-05 23:47:26 -05:00
-
5408867921
Harden .gitignore and add detect-secrets baseline
adlee-was-taken
2026-03-05 22:47:02 -05:00
-
a8b521f7f7
Fix two production crashes and bump to v3.2.0
adlee-was-taken
2026-03-05 20:30:08 -05:00
-
7f0f580631
Add client-side card reveal before swap and YOUR TURN badge update
worktree-agent-ae238fec
worktree-agent-a471949c
adlee-was-taken
2026-02-25 23:35:49 -05:00
-
215849703c
Add inline comments across client and server codebase
adlee-was-taken
2026-02-25 22:17:19 -05:00
-
72eab2c811
TUI visual polish: felt table, status bar, scoreboard delay
adlee-was-taken
2026-02-25 21:56:01 -05:00
-
dfb3397dcb
Overhaul TUI navigation, quit handling, and scoreboard tags
adlee-was-taken
2026-02-25 21:41:45 -05:00
-
b1d3aa7b77
Add session persistence, splash screen, and TUI polish
adlee-was-taken
2026-02-25 19:35:03 -05:00
-
67d06d9799
Mark stale games as abandoned in DB during cleanup and on startup
adlee-was-taken
2026-02-25 12:25:03 -05:00
-
82aa3dfb3e
Add auto-cleanup of stale game rooms after 5 minutes of inactivity
adlee-was-taken
2026-02-25 12:17:57 -05:00
-
7001232658
Add single-escape navigation: back from signup/lobby, leave room
adlee-was-taken
2026-02-24 20:17:10 -05:00
-
13e98d330a
Add TUI signup flow, quit/help/standings modals, and UI refinements
adlee-was-taken
2026-02-24 20:14:04 -05:00
-
bfe29bb665
Add TUI lobby settings, clickable cards, and UI polish
adlee-was-taken
2026-02-24 19:23:27 -05:00
-
e601c3eac4
Add DAILY_OPEN_SIGNUPS and DAILY_SIGNUPS_PER_IP to compose env vars
adlee-was-taken
2026-02-24 14:38:25 -05:00
-
6461a7f0c7
Add metered open signups, per-IP limits, and auth security hardening
adlee-was-taken
2026-02-24 14:28:28 -05:00
-
3d02d739e5
Set prod log level default to WARNING
adlee-was-taken
2026-02-24 02:00:33 -05:00
-
3ca52eb7d1
Bump version to 3.1.6, update docs
v3.1.6
adlee-was-taken
2026-02-24 01:59:54 -05:00
-
3c63af91f2
Bump mobile logo-golfer gap from 12px to 15px
adlee-was-taken
2026-02-24 01:56:43 -05:00
-
5fcf8bab60
Fix logo-golfer spacing: source order bug, tighten landscape, widen mobile
adlee-was-taken
2026-02-24 01:55:28 -05:00
-
8bc8595b39
Adjust logo-golfer spacing: tighter landscape, more room on mobile
adlee-was-taken
2026-02-24 01:54:08 -05:00
-
7c58543ec8
Tighten landscape logo-golfer gap, alternate suit colors on ball logo
adlee-was-taken
2026-02-24 01:52:25 -05:00
-
4b00094140
Add spacing between logo ball and golfer container
adlee-was-taken
2026-02-24 01:48:44 -05:00
-
65d6598a51
Fix kicked ball launching from golfer's back foot at narrow viewports
adlee-was-taken
2026-02-24 01:47:06 -05:00
-
baa471307e
Tune lobby header: 2x2 suit grid, mobile spacing, tighter row gap
adlee-was-taken
2026-02-24 00:35:25 -05:00
-
26778e4b02
Fix lobby header: use inline-grid for logo/title layout
adlee-was-taken
2026-02-24 00:22:34 -05:00
-
cce2d661a2
Fix logo-row centering at mid-range widths (750-1120px)
adlee-was-taken
2026-02-23 23:26:52 -05:00
-
1b748470a0
Use width:fit-content on h1 for bulletproof logo-title alignment
adlee-was-taken
2026-02-23 23:14:56 -05:00
-
d32ae83ce2
Nudge mobile header line 18px left via text-indent
adlee-was-taken
2026-02-23 23:07:58 -05:00
-
e542cadedf
Bump mobile single-line breakpoint to 749px to cover all phones
adlee-was-taken
2026-02-23 23:06:39 -05:00
-
cd2d7535e3
Replace translateX hack with text-align left on h1 for logo alignment
adlee-was-taken
2026-02-23 23:02:17 -05:00
-
4dff1da875
Only trigger single-line mode at <=449px, shift everywhere else
adlee-was-taken
2026-02-23 22:59:51 -05:00
-
8f21a40a6a
Make logo-row inline on mobile for single-line header layout
adlee-was-taken
2026-02-23 22:58:28 -05:00
-
0ae999aca6
Revert flex approach, use default translateX with max-width reset for mobile
adlee-was-taken
2026-02-23 22:57:49 -05:00
-
a87cd7f4b0
Use inline-flex column on h1 to left-align logo row with title
adlee-was-taken
2026-02-23 22:56:38 -05:00
-
eb072dbfb4
Set logo-row shift to 750px breakpoint (mobile ends ~750px)
adlee-was-taken
2026-02-23 22:54:10 -05:00
-
4c16147ace
Set logo-row shift breakpoint to 900px to match actual layout break
adlee-was-taken
2026-02-23 22:51:40 -05:00
-
cac1e26bac
Split the difference: logo-row shift at 600px breakpoint
adlee-was-taken
2026-02-23 22:49:21 -05:00
-
31dcb70fc8
Bump logo-row shift breakpoint to 768px so mobile stays centered
adlee-was-taken
2026-02-23 22:47:31 -05:00
-
15339d390f
Use min-width breakpoint for logo shift, tighten logo-title gap
adlee-was-taken
2026-02-23 22:45:38 -05:00
-
c523b144f5
Tighten logo-golfer gap and shift row further left on landscape
adlee-was-taken
2026-02-23 22:40:52 -05:00
-
0f3ae992f9
Wrap logo+golfer in .logo-row and translateX left on landscape
adlee-was-taken
2026-02-23 22:36:00 -05:00
-
ce6b276c11
Increase logo left shift to -3.5rem to align with GolfCards text
adlee-was-taken
2026-02-23 22:33:16 -05:00
-
231e666407
Fix logo shift direction: move left on landscape, not right
adlee-was-taken
2026-02-23 22:31:38 -05:00
-
7842de3a96
Shift logo+golfer group right on landscape via margin-left
adlee-was-taken
2026-02-23 22:29:47 -05:00
-
aab41c5413
Restore logo-golfer-ball order in header
adlee-was-taken
2026-02-23 22:23:49 -05:00
-
625320992e
Move golfer emoji left of logo, make .club inline
adlee-was-taken
2026-02-23 22:22:53 -05:00
-
61713f28c8
Style GolfCards title with .club on second line
adlee-was-taken
2026-02-23 22:13:40 -05:00
-
0eac6d443c
Rename lobby title from Golf to GolfCards.Club
adlee-was-taken
2026-02-23 22:11:39 -05:00
-
dc936d7e1c
Add v3.1.5 footer with copyright to lobby and waiting room
v3.1.5
adlee-was-taken
2026-02-23 21:08:39 -05:00
-
1cdf1cf281
Tune round-end pause and reduce deck shake frequency
adlee-was-taken
2026-02-23 21:06:17 -05:00