MimironsGoldOMatic

MimironsGoldOMatic.Desktop (WPF | Bridge between EBS & Lua addon)

Cross-cutting: docs/overview/ARCHITECTURE.md · docs/overview/MVP_PRODUCT_SUMMARY.md · docs/reference/WORKFLOWS.md

Key Functions

Command Injection (WPF to Addon)

Explicit Claim Flow (Desktop to EBS)

The Desktop app uses an explicit claim model to avoid accidentally locking payouts:

  1. Desktop fetches candidate payouts through GET /api/payouts/pending.
  2. On Sync/Inject, Desktop must confirm a valid WoW target (WoW.exe, MVP: foreground) before sending PATCH /api/payouts/{id}/statusInProgress (see docs/overview/SPEC.md §3).
  3. Desktop injects the queue payload into WoW via /run ReceiveGold("...").

Feedback Loop (Addon to WPF to EBS)

  1. The WoW Addon detects a whisper whose body matches !twgold (case-insensitive after trim) from the expected winner (reply to the winner notification whisper, docs/overview/SPEC.md §9) and prints [MGM_ACCEPT:UUID] to WoW chat so it appears in Logs\WoWChatLog.txt.
  2. The WPF Utility must use one tail of Logs\WoWChatLog.txt: on [MGM_ACCEPT:UUID], call POST /api/payouts/{id}/confirm-acceptance (willingness to accept; not Sent).
  3. Required: On [MGM_CONFIRM:UUID] in the same log stream, call the EBS (PATCH /api/payouts/{id}/statusSent) — mail was sent (docs/overview/SPEC.md §10).
  4. If the log entry is missed, the Desktop UI provides a manual Mark as Sent override (policy decision).

Libraries

Architecture & Patterns

Resilience

E2E testing (CI vs real Desktop)

WinAPI / WoW 3.3.5a compatibility (MVP)