fix: trade gate round 2 - the trade window is state-managed, never
layout-persisted; deeper [trade] wire probes A session that ended mid-trade saved Visible=true for "secure-trade" in the window-layout file, restoring an empty open trade window at every launch. Added to the stateManagedVisibilityWindows set beside Combat/JumpPowerbar/ExternalContainer/Vendor - visibility belongs to RuntimeTradeState's open/closed lifecycle exclusively. Also carries the round-2 [trade] probes for the still-open "open never registers" diagnosis: the round-1 log proved the request seam fires (4x "request partner=0x50000001 item=0 open=False") but no window ever opened - the new probes bracket the command router (open-cmd sent flag), the wire send (wire-open seq), and the inbound RegisterTrade apply, so the next gate log pinpoints whether the send leaves the client and whether ACE replies. App suite 4,990/3 skips. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
22f30f291d
commit
f2144ab2a4
4 changed files with 20 additions and 2 deletions
|
|
@ -87,6 +87,10 @@ public sealed class RuntimeTradeState : IDisposable
|
|||
/// </summary>
|
||||
public void ApplyRegister(GameEvents.RegisterTrade update, uint selfGuid)
|
||||
{
|
||||
// TEMPORARY [trade] probe (2026-08-14 gate round 2).
|
||||
Console.WriteLine(
|
||||
$"[trade] register initiator=0x{update.Initiator:X8} "
|
||||
+ $"partner=0x{update.Partner:X8} self=0x{selfGuid:X8}");
|
||||
lock (_gate)
|
||||
{
|
||||
ObjectDisposedException.ThrowIf(_disposed, this);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue