Skip to content

v0.2: Implement guarded manual reconnect with Ctrl+K #3

Description

@Mewt0

Goal

Implement the first real connection-changing path, but only when the user explicitly presses Ctrl+K.

Preconditions

Scope

  • Resolve IGameplayLogic through the dependency system.
  • Add a single-flight guard so duplicate requests are ignored.
  • Validate not replay / valid client state before disconnect.
  • Call the stock goToLoginByDisconnectRQ() path.
  • Log request, guard decisions, disconnect start and resulting state transition.
  • Keep automatic RED-triggered reconnect disabled.

Client APIs to verify

  • skeletons.gameplay.IGameplayLogic
  • gameplay.delegator.GameplayLogic.goToLoginByDisconnectRQ()
  • skeletons.connection_mgr.IConnectionManager
  • BattleReplay.isPlaying()

Acceptance criteria

  • Ctrl+K causes one controlled stock disconnect request.
  • Repeated Ctrl+K while reconnect is in progress does not produce duplicate disconnects.
  • Replay remains inert.
  • No external socket manipulation, process restart or executable patching.
  • Automatic lag detector still only logs and never disconnects.

Tests

  • Ctrl+K in battle with healthy connection.
  • Ctrl+K during sustained RED.
  • Repeated Ctrl+K presses.
  • Ctrl+K in replay.
  • Normal battle exit while controller is idle/busy.

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