Skip to content

Fix the production consumption report and give it a dedicated tab

Idan Cohen requested to merge fix/consumption-page into genocide

The production report returned 404 because the frontend was updated while both backend pods kept running the old image, without the /api/monsters/remaining route or population catalogue. Publishing :latest did not change the production pod template, and CI only explicitly restarted the frontend.

Backend publishing now emits a matching revision dotenv artifact. The deploy job rolls out that backend and waits for readiness before updating its frontend, and only restarts web services published by this pipeline. Consumption also moves from Home to its own /consumption route and navigation tab. Home no longer fetches the report. Tablet/mobile navigation stays usable with the extra tab, including a keyboard-accessible menu toggle.

Validation:

  • All 21 frontend tests and the production frontend build pass. Navigation tests cover Home without report requests, opening/closing the menu, and direct /consumption loads.
  • Five tests execute the actual deploy script with isolated command fixtures, covering backend-before-frontend ordering, backend-only updates, stale/missing revisions, failed readiness and development namespace isolation. The original script fails the relevant regression cases.
  • GitLab CI lint passes without errors or warnings. Rendered local checks cover the new route, Home separation, inclusive filters, pagination, mobile navigation and contained table scrolling. Local screenshots use synthetic report records.

Related to #22 (closed), #26 (closed) and !75 (merged). Reporting SQL/population calculations and campaign records are unchanged. Production pipeline 766 passed for merge commit 8090ef04383719a4edd5ddd2879d87e15f77633c. The live API now returns 200 with recorded consumption (22 recorded kills at verification), correct inclusive filters/pagination and empty results; reversed bounds return 400. Browser checks passed for the direct /consumption route, Home without the report, filters/pagination and mobile navigation. Both backend and all three frontend pods updated; the game-server pod UID and image are unchanged. Production screenshots below show live records, rather than the local synthetic fixture.

Production Consumption tab

Production mobile Consumption page

Edited by Idan Cohen

Merge request reports