discoman
  • Joined on 2026-02-10
discoman pushed to main at discoman/python-tdd 2026-03-22 03:26:15 +00:00
f1b5ba2a71 given flaky --parallel FT pipeline fails, new fix in core.runner, incl. _Py313SafeRemoteTestRunner, so that errors bubbling up don't read as generic TypeError: cannot pickle 'traceback' object
discoman pushed to main at discoman/python-tdd 2026-03-22 02:22:16 +00:00
184854a2de new apps.epic.tests.integrated.test_views.PickRolesViewTest.test_pick_roles_idempotent_no_duplicate seats passes w. duplicate no-op post ensures single line addition to apps.epic.views.pick_roles prevents ea. position from drawing twice ea. turn during Role Select phase at table; new assertions in FTs.test_room_role_select.RoleSelectChannelsTest.test_turn_passes_after_selection for same
discoman pushed to main at discoman/python-tdd 2026-03-21 18:33:16 +00:00
f5c2cf4636 in role-select.js, selectRole() runs in more precise ordering to ensure card hand for role selection passes to the next gamer after a selection is made; previous bug allowed multiple cards at a single gamer position, which prevented the card hand from making a circuit around the table before depletion; backend fixes including to apps.epic.views.select_role; +2 FTs & +1 IT asserts these features
discoman pushed to main at discoman/python-tdd 2026-03-19 19:49:08 +00:00
91e0eaad8e new DRAMA & BILLBOARD apps to start provenance system; new billboard.html & _scroll.html templates; admin area now displays game event log; new CLAUDE.md file to free up Claude Code's memory.md space; minor additions to apps.epic.views to ensure new systems just described adhere to existing game views
discoman pushed to main at discoman/python-tdd 2026-03-19 04:00:12 +00:00
5a811d0079 plugged some test coverage lacunae, incl. tests for release_slot for the Carte Blanche; select_role for ROLE_CHOICES & ROLE_SELECT; equip_trinket non-POST paths; & tooltip_shoptalk for the Tithe Token
discoman pushed to main at discoman/python-tdd 2026-03-19 03:15:14 +00:00
8c2a5d24ec updated .fa-ban icon to update via js & ws; changed taken_roles (or its cognates) everywhere to starter_roles, as 'taken' will be used in respect to roles thru-out entire game, not just this seat-determining phase of Role Select; patched up chosen cards not disappearing upon previous gamer choice, & a try,except that catches attempts to select one anyway w. a 409 & optimistic card rollback; new IT confirms this 409
discoman pushed to main at discoman/python-tdd 2026-03-19 02:21:01 +00:00
4f076165ef removed console ws closed warning on event.wasClean
discoman pushed to main at discoman/python-tdd 2026-03-19 02:03:22 +00:00
3a87a17017 Dockerfile updated to run uvicorn worker class to support asgi (was still gunicorn & wsgi)
discoman pushed to main at discoman/python-tdd 2026-03-19 01:43:10 +00:00
4e63323019 a pair of small fixes to infra/nginx.conf.j2, to ensure WebSockets functionality; & to role-select.js, to fix the inventory from not updating to that of the new position when a gamer passed the Role cards to the next position when he also occupies that position; separate inventories now ensured
discoman pushed to main at discoman/python-tdd 2026-03-19 01:11:18 +00:00
8b2c4e1bdc imported tag to tag 'channels' on RoleSelectChannelsTest to see if the pipeline can get past more similar complications
discoman pushed to main at discoman/python-tdd 2026-03-19 00:49:53 +00:00
10d717a3ba removed parallel worker subprocess fail screendump req'ment, so not to break the --parallel FT run
discoman pushed to main at discoman/python-tdd 2026-03-19 00:43:11 +00:00
e9f50810da imported itertools to base FT fns to support --parallel core split from last push
discoman pushed to main at discoman/python-tdd 2026-03-19 00:24:12 +00:00
67697fa90e established parallel CI pipeline for quicker testing after DO droplet upsizing; ensured gamearray (docker) and gamearray_celery services restart automatically when not purposefully powered off
discoman pushed to main at discoman/python-tdd 2026-03-17 19:48:47 +00:00
97b406c7e0 seat-card-arc fan driven by data-card-count (0/1/2/3); active arc glows/floats;dual CSS class aliases: .table-seat/.table-position, .seat-portrait/.position-portrait etc.; seat_role_counts context var; room.html arcs populated server-side on load; per-position inventory model: assigned_seats=[] always; JS clears #id_inv_role_card on turn_changed; _notify_turn_changed includes seat_counts (str keys) for observer arc sync; selectRole() increments active arc immediately + disables stack to prevent double-picks; room.js WS auto-reconnect with exponential backoff (1s->30s); _applet_menu.html extracted from gameboard/_applets.html and wallet/_applets.html (menu now sibling of applets container, not nested inside it); partial fix for mask clip bug — deferred; commented out footer background-gradient (revealed underlying clip bug); removed landscape .room-page .gear-btn bottom override; FT 3d: assert arc data-card-count=1 on re-entry instead of inventory cards
discoman pushed to main at discoman/python-tdd 2026-03-17 05:00:27 +00:00
568497d09d duplicate browsers to simulate multiple gamers in test envs now handle headless firefox in pipeline correctly
discoman pushed to main at discoman/python-tdd 2026-03-17 04:39:39 +00:00
1558bb02b4 fixed box-shadow attr on token equip assignation to .token-panel instead of .token-rails, where it belonged
01de6e7548 Django Channels role-select sprint: turn_changed, roles_revealed, role_select_start consumer handlers; WS URL changed from room_slug to room_id UUID; TableSeat model - room, gamer, slot_number, role, role_revealed, seat_position fields; Room.table_status field with ROLE_SELECT, SIG_SELECT, IN_GAME choices; migration 0006_table_status_and_table_seat; pick_roles and select_role views; _role_select_context helper; _notify_turn_changed, _notify_roles_revealed, _notify_role_select_start notifiers; all gate-mutation views now call _notify_gate_update; ChannelsFunctionalTest base class with serve_static, screenshot, dump helpers; SQLite TEST NAME set to file path for ChannelsLiveServerTestCase; InMemoryChannelLayer added to test CHANNEL_LAYERS settings; FT 5 and FT 6 now passing - active seat arc and turn advance via WS, no page refresh; room.js, gatekeeper.js, role-select.js added to apps/epic/static; applets.js, game-kit.js, dashboard.js, wallet.js relocated to app-scoped static dirs; room.html: hex table, table-seat arcs, card-stack, inventory panel, role-card hand, WS scripts; _room.scss: room-shell flex layout, .table-hex polygon clip-path, .table-seat and .seat-card-arc, .card-stack eligible/ineligible states, .card flip animation, .inv-role-card stacked hand, .role-select-backdrop; gear btn and room menu always position: fixed; 375 tests, 0 skipped
c9defa5a81 daphne added to dependencies; still reliant on uvicorn, as the former is now used solely as a channels testing req'ment; new consumer model in apps.epic.consumers to handle _gatekeeper partial functionality, permitting access to room once token costs met; new .routing urlpattern to accomodate; new tests.integrated.test_consumer IT cases ensure this functionality
Compare 3 commits »
discoman pushed to main at discoman/python-tdd 2026-03-16 05:05:04 +00:00
462155f07b fixed some UX inconsistencies in gatekeeper
discoman pushed to main at discoman/python-tdd 2026-03-16 04:30:44 +00:00
fa46fc18d7 fixes to kit bag dialog & mini-tooltip presence which stymied a pair of FTs
discoman pushed to main at discoman/python-tdd 2026-03-16 04:08:07 +00:00
4239245902 add Carte Blanche trinket: equip system, gatekeeper multi-slot, mini tooltip portal; new token type Token.CARTE ('carte') with fa-money-check icon; migrations 0010-0012:
discoman pushed to main at discoman/python-tdd 2026-03-15 22:52:20 +00:00
b49218b45b significant palette overhaul, w. addition of +3 new palettes; new swatch preview appearance; expanded palette toggle functionality; repaired test suite accordingly