feat(protocol): version the wire contract, reject mismatched clients #97
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!97
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/protocol-version"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Groundwork for shipping client + server as separate releases (#33): a protocol version gate.
ProtocolVersion.Current(aconst intinShared/Protocol) is the single source of truth./ws?access_token=...&v={Current}.vdiffers (HTTP 426 Upgrade Required) before any handshake — a stale client can't talk a desynced protocol and cause subtle bugs.ProtocolVersion.Currentin the SAME change as any wire-contract change (ClientMessage/ServerMessage shape, protocol enum, wire DTO).Integration test: a wrong version is rejected; the existing WS tests now send the version.
Definition of Done