Skip to content

feat(chat): carry the bubble width a wired message asks for - #212

Draft
SimoLeoLife wants to merge 2 commits into
Devfrom
fix/wired-chat-bubble-width
Draft

feat(chat): carry the bubble width a wired message asks for#212
SimoLeoLife wants to merge 2 commits into
Devfrom
fix/wired-chat-bubble-width

Conversation

@SimoLeoLife

@SimoLeoLife SimoLeoLife commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

The official client (AIR 13) reads an optional int at the very end of the chat packet: the bubble width a wired message asks for, -1 when the room setting should rule, otherwise 0 wide, 1 normal, 2 thin, the same values RoomChatSettings already uses.

  • RoomUnitChatParser reads it guarded by bytesAvailable, so an emulator that does not send it changes nothing; flush() resets it to -1.
  • RoomSessionChatEvent carries it as a new trailing constructor parameter (default -1), and RoomChatHandler passes it through for talk, shout and whisper.
  • RoomUnitChatParser.test.ts pins the three cases: no tail, a tail, and the reset between packets.

The chat packets are already exemptions in protocol/packet-field-contracts.json, so the manifest is unchanged (verify-packet-contract-manifest.mjs --emulator ../emulatore still reports 658 verified / 183 unpaired / 360 exempt). Full suite: 398 tests green, vite build green.

Companion changes: Polaris-Emulator fix/wired-updates (the four messaging boxes carry the width and RoomChatMessage serialises it) and Octane fix/wired-updates (the picker in the wired windows and the bubble that honours it).

The official client reads an optional int at the very end of the chat
packet: the bubble width the message wants, -1 when the room setting should
rule. The parser now reads it the same way, guarded by bytesAvailable so an
emulator that does not send it changes nothing, and the session chat event
hands it to whoever draws the bubble.
The parser test still imported @nitrots/utils, which this branch renamed
to @octane/utils; the test file could not resolve it in CI.
@SimoLeoLife
SimoLeoLife marked this pull request as draft September 6, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant