FluxyChat

Rooms

Reactions

Message emoji on the line. Room bursts on the footer.

Two APIs. Do not mix them.

Message reactions

Tied to a message id. Persist. Summaries fold unique, distinct, and multiple.

await room.messages.reactions.send(messageId, "👍");
await room.messages.reactions.delete(messageId, "👍");

room.messages.reactions.subscribe((event) => {
  console.log(event.type, event.summary);
});

Raw create/delete frames need messages: { rawMessageReactions: true } on rooms.get. Default is off (feature_not_enabled on subscribeRaw). Operator CLI: fluxy-room react|unreact|reactions --id <n> --emoji 👍.

Room reactions

Ephemeral. Everyone in the room sees a burst. Nothing is stored on a chat line.

await room.reactions.send("👏");
await room.reactions.send({ name: "👏", metadata: { source: "header" } });

room.reactions.subscribe((event) => {
  console.log(event.type, event.reaction.name, event.reaction.userId);
});

Wire name: room_reaction. Recipe: Room reactions. ChatWindow can show bursts in the footer if you pass them in.

On this page