Mod-side rollout: push EcoJobsTracker.dll with lastSeen field to kai-server #5

Open
opened 2026-05-23 20:54:08 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-09T06:30:53Z - https://github.com/coilysiren/eco-jobs-tracker/issues/12

Filed by Claude Code on Kai's behalf.

Context

#3 changed the mod's /api/v1/skills DTO from `active: bool` to `lastSeen: string | null`, with the Python tracker deriving "active" from that timestamp. The web app shipped (eco-jobs-tracker.coilysiren.me), but the C# mod DLL on kai-server is still the pre-#3 build, so the live dashboard saw `lastSeen` missing on every player and rendered the entire active set as 0/N.

A backwards-compat shim landed in `upstream.py` that falls back to the old `active: bool` so the dashboard reflects "online right now" until the new mod is in place. That restores pre-#3 behavior for now.

To complete the rollout

  1. `coily exec build-mod` (compiles `mod/src/bin/Release/net10.0/EcoJobsTracker.dll` plus `.deps.json` / `.pdb`).
  2. Build a zip with the `Mods/EcoJobsTracker/` prefix per infrastructure/eco.md §4.
  3. `coily gaming eco mod push --src EcoJobsTracker.zip`.
  4. `coily gaming eco restart` (kicks live players - schedule for a quiet window).
  5. Verify at https://eco-jobs-tracker.coilysiren.me/api/v1/players that the active set now reflects "in last 7 days" and not just "online now."

After the rollout lands

Delete the `active: bool` fallback in `src/eco_spec_tracker/upstream.py:_resolve_last_seen` and the matching test fixture (`tests/test_smoke.py:OLD_MOD_FIXTURE`).

Filed by Claude Code on Kai's behalf.

_Originally filed by @coilysiren on 2026-05-09T06:30:53Z - [https://github.com/coilysiren/eco-jobs-tracker/issues/12](https://github.com/coilysiren/eco-jobs-tracker/issues/12)_ > Filed by Claude Code on Kai's behalf. ## Context #3 changed the mod's `/api/v1/skills` DTO from \`active: bool\` to \`lastSeen: string | null\`, with the Python tracker deriving \"active\" from that timestamp. The web app shipped (eco-jobs-tracker.coilysiren.me), but the C# mod DLL on kai-server is still the pre-#3 build, so the live dashboard saw \`lastSeen\` missing on every player and rendered the entire active set as 0/N. A backwards-compat shim landed in \`upstream.py\` that falls back to the old \`active: bool\` so the dashboard reflects \"online right now\" until the new mod is in place. That restores pre-#3 behavior for now. ## To complete the rollout 1. \`coily exec build-mod\` (compiles \`mod/src/bin/Release/net10.0/EcoJobsTracker.dll\` plus \`.deps.json\` / \`.pdb\`). 2. Build a zip with the \`Mods/EcoJobsTracker/\` prefix per [infrastructure/eco.md §4](../infrastructure/eco.md). 3. \`coily gaming eco mod push --src EcoJobsTracker.zip\`. 4. \`coily gaming eco restart\` (kicks live players - schedule for a quiet window). 5. Verify at https://eco-jobs-tracker.coilysiren.me/api/v1/players that the active set now reflects \"in last 7 days\" and not just \"online now.\" ## After the rollout lands Delete the \`active: bool\` fallback in \`src/eco_spec_tracker/upstream.py:_resolve_last_seen\` and the matching test fixture (\`tests/test_smoke.py:OLD_MOD_FIXTURE\`). > Filed by Claude Code on Kai's behalf.
coilysiren added
P1
and removed
P0
labels 2026-05-31 07:00:18 +00:00
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/eco-jobs-tracker#5
No description provided.