Improve body_json payload (currently empty) #23

Closed
opened 2026-06-17 07:29:34 +00:00 by coilysiren · 1 comment
Owner

Originally filed by @coilysiren on 2026-05-18T06:45:38Z

Problem

The C# mod's ActionMapper.ToRow serializes each GameAction to a body_json column for inspection in the UI. Sampling the live Sirens DB right after first deploy shows every row's body is "{}".

Why: ShallowResolver.CreateProperty replaces User/ItemStack/WorldObject/Deed property values with their .Name, but the substitution mechanism (NameOnlyValueProvider) didn't fire on first run. Net effect: every property that would be serialized gets pruned or skipped, and we end up with {}.

Next steps

  • Decide whether the body should be: full reflective dump (a la Eco's own LiteDB serializer) or curated per-action-type (citizen, position, item-name, target) like Chronicler does.
  • The curated route is much more useful for grief-detection use cases. Most of Chronicler's reach comes from per-action-type extraction.

Out of scope

  • Web UI improvements past index.html table. That's its own issue.

Migrated from coilyco-flight-deck/eco-replay#7 during the eco repo consolidation (coilysiren/inbox#100).

_Originally filed by @coilysiren on 2026-05-18T06:45:38Z_ **Problem** The C# mod's `ActionMapper.ToRow` serializes each `GameAction` to a `body_json` column for inspection in the UI. Sampling the live Sirens DB right after first deploy shows every row's body is `"{}"`. **Why:** `ShallowResolver.CreateProperty` replaces `User`/`ItemStack`/`WorldObject`/`Deed` property values with their `.Name`, but the substitution mechanism (`NameOnlyValueProvider`) didn't fire on first run. Net effect: every property that would be serialized gets pruned or skipped, and we end up with `{}`. **Next steps** - Decide whether the body should be: full reflective dump (a la Eco's own LiteDB serializer) or curated per-action-type (citizen, position, item-name, target) like Chronicler does. - The curated route is much more useful for grief-detection use cases. Most of Chronicler's reach comes from per-action-type extraction. **Out of scope** - Web UI improvements past `index.html` table. That's its own issue. --- _Migrated from coilyco-flight-deck/eco-replay#7 during the eco repo consolidation (coilysiren/inbox#100)._
Author
Owner

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: burndown-2026-06.

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: `burndown-2026-06`.
coilysiren 2026-06-17 08:20:40 +00:00
Sign in to join this conversation.
No description provided.