acdream/src/AcDream.UI.Abstractions/Panels/Chat
Erik ac0304dcf0 fix(ui,runtime): OP4 re-review residuals R1-R4 (coordinator pass) — OP4 CLOSED
R1: the timestamp prefix moves from ChatLog.Append (which stamped the
stored BODY, rendering 'Alice says, "13:05:09 hi"') to ChatVM's display
composition — FormatTimestampPrefix(entry.Received) prepends the COMPOSED
line, matching retail's separate-leading-string model (fprintf("%ls%ls",
ts, text) @0x00563e5b; AddTextToScroll receives composed lines). The
prefix renders entry.Received in LOCAL time (retail strftime), invariant
literal colons. The ten defect-pinning test cases across
ChatLogTests/RuntimeCommunicationStateTests are rewritten to pin the
corrected contract (stored bodies stay clean; the composed line carries
the stamp outside the quotes — ChatVMTests).

R2: open option-bearing panels converge on every PlayerDescription seed:
OptionPage.ReloadFromLive (per-row live re-read + gating re-eval, NO
AfterApply flush — the seed just cleared the dirty module),
OptionsPanelController.OnServerOptionsSeeded (active page),
CombatUiController.OnServerOptionsSeeded (SyncControls), wired through
RuntimeSettingsController.ServerOptionsSeeded from the same factory hook
LockUI already uses. Retail cannot reach this state (its panels close
across login); the adaptation exists because retained panels survive the
session boundary — documented at the seam.

R3: tests drive the refresh widget push (model AND checkbox converge) and
ReloadFromLive's no-flush contract. R4: AP-196 addendum names the
headless AutoRepeatAttack false->true effective-default flip and the
characterOptions escape hatch.

Full Release suite: 13,083 passed / 4 skipped / 0 failed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 06:36:14 +02:00
..
ChatCommandRouter.cs fix(chat): consolidated-review fixes — retail /help Detail extraction, seam wiring test 2026-08-10 16:22:36 +02:00
ChatInputParser.cs fix(chat): #363 — retail 0x1A typing for command refusals via the interface-text seam 2026-08-10 15:21:30 +02:00
ChatPanel.cs feat(chat): Campaign CH slice CH1 — retail LogTextType color table 2026-08-09 15:24:09 +02:00
ChatVM.cs fix(ui,runtime): OP4 re-review residuals R1-R4 (coordinator pass) — OP4 CLOSED 2026-08-11 06:36:14 +02:00
RetailChannelTagTable.cs fix(chat): CH4 review fixes — allegiance ownership guard, house-abandon confirmation 2026-08-09 21:59:35 +02:00
RetailChatColorTable.cs feat(chat): Campaign CH slice CH1 — retail LogTextType color table 2026-08-09 15:24:09 +02:00
RetailClientCommandCatalog.cs fix(chat): consolidated-review fixes — retail /help Detail extraction, seam wiring test 2026-08-10 16:22:36 +02:00
RetailCommandHelpTable.cs fix(chat): round 4 — no user-visible meta text, real /help groups, indicator buttons toggle 2026-08-10 18:46:34 +02:00