You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 15:06:20 +00:00
fix(api): IRoomSession.password + sendBackgroundMessage + optional chatColour
The IRoomSession interface was missing three things that have always existed on the RoomSession implementation: - `password: string` — the room session's join password (used by the reconnect flow in RoomSessionManager). - `sendBackgroundMessage(backgroundImage, backgroundStand, backgroundOverlay, backgroundCard?)` — sends the profile-background composer (used by the React client's BackgroundsView). Plus a signature relaxation: - `sendChatMessage` / `sendShoutMessage` `chatColour` is now optional. The implementation already accepted `undefined` (the composer forwards it through), and every historical call site in the React client passes only 2 args — making the 3rd optional simply types reality. Net renderer typecheck: 26 → 23. The change also drops 7 errors on the consumer side (see ../Nitro-V3 typecheck after the workspace link picks this up). CLAUDE.md gotchas updated to reflect the new interface contract.
This commit is contained in:
@@ -109,10 +109,14 @@ for the React-side bridge code.
|
||||
- **`SessionDataManager.getUserData(id)` does NOT exist.** Some legacy
|
||||
code in the React client used it under a `getUserData ?` truthy guard;
|
||||
the branch was always dead. Only `getUserDataSnapshot()` exists.
|
||||
- `IRoomSession.sendChatMessage` / `sendShoutMessage` require **3 args**
|
||||
(text, styleId, chatColour). The React client's chat-input legacy
|
||||
passes 2 — known pre-existing gap, do not "fix" the client without
|
||||
also threading chatColour through the chat composer pipeline.
|
||||
- `IRoomSession.sendChatMessage` / `sendShoutMessage` accept an optional
|
||||
`chatColour` 3rd arg (was required pre-2.1.1, now optional to match
|
||||
the historical call sites in the React client). The implementation
|
||||
forwards `undefined` to the composer just fine; pass a value only when
|
||||
you need a specific bubble colour.
|
||||
- `IRoomSession.password` and `IRoomSession.sendBackgroundMessage` are
|
||||
now part of the public interface (they always existed on the
|
||||
implementation class — interface caught up).
|
||||
- The renderer is **synchronous**: `EventDispatcher.dispatchEvent` is a
|
||||
synchronous loop over listeners. Don't add `await` inside the
|
||||
`processEvent` loop — it would change ordering guarantees that
|
||||
|
||||
Reference in New Issue
Block a user