Commit Graph

352 Commits

Author SHA1 Message Date
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-21 23:08:21 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-21 22:22:06 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-21 14:33:06 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-19 15:48:59 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-19 00:00:00 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-18 23:14:53 -04:00
Disco DeDisco
4f076165ef removed console ws closed warning on event.wasClean
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-18 22:20:51 -04:00
Disco DeDisco
3a87a17017 Dockerfile updated to run uvicorn worker class to support asgi (was still gunicorn & wsgi)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-18 22:03:10 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-18 21:42:59 -04:00
Disco DeDisco
8b2c4e1bdc imported tag to tag 'channels' on RoleSelectChannelsTest to see if the pipeline can get past more similar complications
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-18 21:11:07 -04:00
Disco DeDisco
10d717a3ba removed parallel worker subprocess fail screendump req'ment, so not to break the --parallel FT run
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-18 20:49:44 -04:00
Disco DeDisco
e9f50810da imported itertools to base FT fns to support --parallel core split from last push
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-18 20:42:54 -04:00
Disco DeDisco
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
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-18 20:24:02 -04:00
Disco DeDisco
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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-17 15:48:38 -04:00
Disco DeDisco
568497d09d duplicate browsers to simulate multiple gamers in test envs now handle headless firefox in pipeline correctly
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-17 01:00:15 -04:00
Disco DeDisco
1558bb02b4 fixed box-shadow attr on token equip assignation to .token-panel instead of .token-rails, where it belonged
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-17 00:39:19 -04:00
Disco DeDisco
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 2026-03-17 00:24:23 -04:00
Disco DeDisco
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 2026-03-16 18:44:06 -04:00
Disco DeDisco
462155f07b fixed some UX inconsistencies in gatekeeper
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-16 01:04:52 -04:00
Disco DeDisco
fa46fc18d7 fixes to kit bag dialog & mini-tooltip presence which stymied a pair of FTs
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-16 00:30:33 -04:00
Disco DeDisco
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:
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
CARTE type, User.equipped_trinket FK, Token.slots_claimed field; post_save signal sets
equipped_trinket=COIN for new users, PASS for staff; kit bag now shows only the equipped
trinket in Trinkets section; Game Kit applet mini tooltip portal shows Equipped or Equip
Trinket per token; AJAX POST equip-trinket id updates equippedId in-place; equip btn
now works for COIN, PASS, and CARTE (data-token-id added to all three); Gatekeeper CARTE
flow: drop_token sets current_room (no slot reserved); each empty slot up to
slots_claimed+1 gets a drop-token-btn; slots_claimed high-water mark advances on fill,
never decrements; highest CARTE-filled slot gets NVM (release_slot); token_return_btn
resets current_room + slots_claimed + un-fills all CARTE slots; gate_status always returns
full template so launch-game-btn persists via HTMX when gate_status == OPEN; room.html
includes gatekeeper when GATHERING or OPEN; new FT test_trinket_carte_blanche.py (2
tests, both passing); 299 tests green
2026-03-16 00:07:52 -04:00
Disco DeDisco
b49218b45b significant palette overhaul, w. addition of +3 new palettes; new swatch preview appearance; expanded palette toggle functionality; repaired test suite accordingly
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-15 18:52:09 -04:00
Disco DeDisco
ace9a4888e updated description text on Backstage Pass to more accurately describe its unlimited capacity
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-15 17:54:58 -04:00
Disco DeDisco
435bec7988 confined htmx polling on _gatekeeper.html to permit continuous typing; previous behavior kicked mobile user out of keyboard input every 3s period
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-15 17:36:42 -04:00
Disco DeDisco
12146037f0 now that like token_types stack in UX, _0 removed from 4 test methods that previously looked for specific token's ID
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-15 16:57:24 -04:00
Disco DeDisco
ff7b71792f narrow desktop breakpoint constraint relaxed somewhat to accomodate more fringe-case window aspect ratios; #id_gear_btn now, like #id_kit_btn, restyles to contain --quaUser rgb value when menu is active; dashboard.html include ordering switched for #id_dash_applet_menu & #id_gear_btn, to fix an issue causing the menu to overlay the btn instead of the other way around
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-15 16:39:14 -04:00
Disco DeDisco
2e24175ec8 new apps.epic app migrations for token expiration & cooldown; reject token renamed to return token everywhere; new mapps.epic.models & .views for expiration & cooldown; new apps.dash.views to manage stacking of like Token types not just in the kit bag but in the Gameboard's Game Kit applet & in the Dashwallet's Tokens applet; Free Tokens now display correctly in kit bag; apps.lyric.admin now ensures superuser cannot grant Free Tokens without an expiration date; corresponding tests in .tests.integrated.test_admin.TokenAdminFormTest; screendumps occurring for every test, regardless of passfail status, after one fail fixed in FTs.base; FTs.test_gatekeeper.GameKitInsertTest.test_free_token_insert_via_kit_consumed_on_confirm, for test purposes only, ensures starting Free Token deleted before fresh one assigned w. full 7d expiration battery 2026-03-15 16:08:34 -04:00
Disco DeDisco
18ba242647 fixed fatal pipeline flaw by correcting game-kit.js dir from static/apps/scripts to apps/dashboard/static/apps/scripts/game-kit-js; the former folder is untracked by git, so successful local code changes never registered to CI static files
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-15 13:51:48 -04:00
Disco DeDisco
6d1b358b7c more pipeline troubleshooting, possible pointer-event attr solution for headless browser FTs
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-15 13:07:13 -04:00
Disco DeDisco
2140bd8206 changed _room.scss overflow to target html instead of body, hopefully fixing FTs in pipeline for real this time
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-15 02:27:10 -04:00
Disco DeDisco
52e171cb20 patched some local fails & errors; pipeline still expected to show cracks
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-15 02:22:07 -04:00
Disco DeDisco
74d1a43559 #id_dash_applet_menu now outside #id_applets_container to avoid clipping, other issues (FTs passed locally, but not in headless CI pipeline); selenium now calls wait_for when looking for is_displayed on kit bag menu (hopefully another CI fix)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-15 01:46:11 -04:00
Disco DeDisco
2d453dbc78 new _kit_bag_panel.html partial in core to allow user to manage equipped kit items from anywhere on site; #id_kit_btn moved from _footer.html partial directly into a base.html include; new trinket for superusers now incl. in apps.lyric.models; apps.gameboard.views handles this new type of PASS token; apps.epic.views allows payment with several different token types based on rarity & expiration hierarchy; kit bag and PASS functionality now handled in apps.dashboard.views; /kit-bag/ now pathed in .urls; styles abound; fully passing test suite (tho much work to be done, chiefly with stacking like coins in FEFO order)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-15 01:17:09 -04:00
Disco DeDisco
4baaa63430 new model fields & migrations for apps.epic & apps.lyric; new FTs, ITs & UTs passing
; some styling changes effected primarily to _gatekeetper.html modal
2026-03-14 22:00:16 -04:00
Disco DeDisco
26b6d4e7db fixed invite input field timeout, which would obey the refresh triggered by the modal every 3s
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-14 13:32:56 -04:00
Disco DeDisco
f4dfce826b filled some styling lacunae, including structural fixes to html re: gatekeeper gear menu
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-14 13:28:31 -04:00
Disco DeDisco
53d9f79476 fixed css class mismatch for coin slot token rejection, left from unevenly applied refactor in last push; pipeline should now be green
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-14 11:01:12 -04:00
Disco DeDisco
ed48d18c1d selector button.token-rails replaces .token-insert-btn to fix 8 broken FTs clogging the pipeline
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-14 02:25:51 -04:00
Disco DeDisco
f76c6d0fe5 various styling & structural changes to unify site themes; token-drop interaction changes across epic urls & views
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-14 02:03:44 -04:00
Disco DeDisco
d9feb80b2a js snippet displays dynamic ellipsis on loading-style token gatekeeper modals; tweaks to existing pythonic & test structure to accomodate 2026-03-14 01:14:05 -04:00
Disco DeDisco
d780115515 fixed modal UX issue; now persists as intended, until token cost met in all six slots 2026-03-14 00:34:07 -04:00
Disco DeDisco
af3523c9bb new _room_gear.html to manage room actions for various gamers (e.g., founders & guests); new _room.scss for gatekeeper styling (still flimsy); added new .btn-abandon Bl-btn palette to _button-pad.scss; new FTs & epic view ITs assert functionality (100 percent coverage, fully passing test suite) 2026-03-14 00:10:40 -04:00
Disco DeDisco
dddffd22d5 covered some test lacunae; gatekeeper now waits for +6 gamers to commit tokens to unblock game room 2026-03-13 22:51:42 -04:00
Disco DeDisco
e0d1f51bf1 new migrations in apps.epic app; new models, urls, views handle the founder of a New Game inviting a friend via email to a game gatekeeper; ea. may drop coin in any of up to 6 avail. slots; FTs & ITs passing 2026-03-13 18:37:19 -04:00
Disco DeDisco
6a42b91420 new migrations in apps.epic & apps.lyric apps; new Token fields of latter articulate upon Room model helper fns of former; new FTs, ITs & UTs capture new behavior accordingly; new template partial content in templates/apps/gameboard 2026-03-13 17:31:52 -04:00
Disco DeDisco
5773462b4c massive additions made thru somewhat new apps.epic.models, .urls, .views; new html page & partial in apps/gameboard; new apps.epic FT & ITs (all green); New Game applet now actually leads to game room feat. token-drop gatekeeper mechanism intended for 6 gamers 2026-03-13 00:31:17 -04:00
Disco DeDisco
681a1a4cd0 seeded apps.epic for backend gameboard logic; core.asgi & .settings now accomodate Channels via Redis; several new libraries in reqs to accomodate 2026-03-12 15:05:02 -04:00
Disco DeDisco
69fea65bf9 new core.runner helper to avoid local caching issues w. coverage tests; .settings, apps.dash.tests.ITs.test_wallet_views updated accordingly
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-12 14:23:09 -04:00
Disco DeDisco
068b99d030 added missing dunderinits to apps.applets.tests & .tests.integrated; some of the test_models ITs never were passing til now but never tested either; new apps.lyric.tests.integrated.test_models cover missing Applet model return
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-11 15:53:31 -04:00
Disco DeDisco
8807d31274 unified header_title template values across dashboard applet destination pages; styled &/ added applet titles across all applets
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-11 14:50:08 -04:00