Skip to content

EQ2Parser 0.5.4

Choose a tag to compare

@github-actions github-actions released this 11 Sep 09:34
· 3 commits to main since this release
fix(raid): attendance only starts from a PROVEN roster-macro pair

Live 2026-09-10 disaster: guildies running SIX-MAN content all day
minted dozens of overlapping phantom attendance "raids" with ~36h
durations and the whole guild marked present. Three causes, all fixed:

- A lone whoraid block seeded the raid immediately — but pressed
  outside a raid it echoes "Not in a raid" and completes EMPTY, and the
  guild who then paired against it. whoraid is now only ever the held
  half of the pair, and the pair validates BOTH ways: the raid half
  must be non-empty and the plain half must be a PURE guild block —
  every row detailed (no anonymous) and every row tagged with the SAME
  guild (verified against live guild-who captures: guildmates always
  show full detail to each other). "/who", "/who all", zone whos and
  out-of-raid macro presses can never satisfy this.

- Fight allies and raid deltas fed the roster with no gating — a
  6-man's allies became "the raid". The tracker is now ARMED only by a
  validated pair; until then every passive signal is discarded, and
  TickAttendance additionally refuses to upload unarmed state.

- No session lifecycle: trackers accumulated members for days, so
  first_seen stretched back to the ingest clock clamp (the 2147-minute
  sessions). A validated pair arriving >6h after the previous one now
  auto-rolls a fresh session — Tuesday's roster can't haunt Thursday
  even if nobody presses "New session".

Test corpus extended with the verbatim 6-man capture (whoraid "Not in a
raid" + valid guild who) plus mixed-guild, anonymous-row, unarmed-signal
and session-rollover cases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>