Skip to content

v0.3: Wait for LOGIN state and perform WGC relogin #4

Description

@Mewt0

Goal

Complete the controlled reconnect path after the stock disconnect by waiting for the real gameplay LOGIN state and starting WGC login on the same server.

Preconditions

Scope

  • Observe GameplayStateID.LOGIN through IGameplayLogic.addOneshotObserver(); do not use guessed sleeps.
  • Capture the selected/current server before disconnect.
  • After LOGIN is reached, call the supported WGC login path through ILoginManager.
  • Handle WGC unavailable / token invalid / login rejected without looping forever.
  • Reset controller state on success or terminal failure.

Client APIs to verify

  • skeletons.gameplay.GameplayStateID.LOGIN
  • IGameplayLogic.addOneshotObserver()
  • gui.login.Manager.tryPrepareWGCLogin()
  • gui.login.Manager.tryWgcLogin(serverName=None)
  • gui.login.Servers.selectedServer
  • IConnectionManager.onConnected/onRejected/onDisconnected

Acceptance criteria

  • No magic delay between disconnect and relogin.
  • Manual Ctrl+K can reach LOGIN and start one WGC login attempt.
  • Same server is used when available.
  • Failed authentication/network attempt stops cleanly and leaves the user at Login instead of looping.
  • Automatic RED-triggered disconnect remains disabled.

Tests

  • Healthy manual reconnect.
  • Manual reconnect during RED.
  • WGC unavailable.
  • Login rejection/token expiry.
  • Network still offline after reaching Login.
  • Successful relogin into an ongoing battle.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions