Users blocking now rely on UUID rather than ID
This way, if a user A blocks another user B, if user B refreshes the browser or leaves and re-enters the room, user B will still be blocked. As a side effect, this allows us to completely remove the "sockets" property in the SocketManager on the Pusher.
This commit is contained in:
parent
28e4f59e50
commit
34cb0ebf39
15 changed files with 143 additions and 141 deletions
|
@ -1,8 +1,8 @@
|
|||
import type {SignalData} from "simple-peer";
|
||||
import type {RoomConnection} from "./RoomConnection";
|
||||
import type {BodyResourceDescriptionInterface} from "../Phaser/Entity/PlayerTextures";
|
||||
import type { SignalData } from "simple-peer";
|
||||
import type { RoomConnection } from "./RoomConnection";
|
||||
import type { BodyResourceDescriptionInterface } from "../Phaser/Entity/PlayerTextures";
|
||||
|
||||
export enum EventMessage{
|
||||
export enum EventMessage {
|
||||
CONNECT = "connect",
|
||||
WEBRTC_SIGNAL = "webrtc-signal",
|
||||
WEBRTC_SCREEN_SHARING_SIGNAL = "webrtc-screen-sharing-signal",
|
||||
|
@ -17,7 +17,7 @@ export enum EventMessage{
|
|||
GROUP_CREATE_UPDATE = "group-create-update",
|
||||
GROUP_DELETE = "group-delete",
|
||||
SET_PLAYER_DETAILS = "set-player-details", // Send the name and character to the server (on connect), receive back the id.
|
||||
ITEM_EVENT = 'item-event',
|
||||
ITEM_EVENT = "item-event",
|
||||
|
||||
CONNECT_ERROR = "connect_error",
|
||||
CONNECTING_ERROR = "connecting_error",
|
||||
|
@ -36,7 +36,7 @@ export enum EventMessage{
|
|||
export interface PointInterface {
|
||||
x: number;
|
||||
y: number;
|
||||
direction : string;
|
||||
direction: string;
|
||||
moving: boolean;
|
||||
}
|
||||
|
||||
|
@ -45,8 +45,9 @@ export interface MessageUserPositionInterface {
|
|||
name: string;
|
||||
characterLayers: BodyResourceDescriptionInterface[];
|
||||
position: PointInterface;
|
||||
visitCardUrl: string|null;
|
||||
companion: string|null;
|
||||
visitCardUrl: string | null;
|
||||
companion: string | null;
|
||||
userUuid: string;
|
||||
}
|
||||
|
||||
export interface MessageUserMovedInterface {
|
||||
|
@ -60,58 +61,59 @@ export interface MessageUserJoined {
|
|||
characterLayers: BodyResourceDescriptionInterface[];
|
||||
position: PointInterface;
|
||||
visitCardUrl: string | null;
|
||||
companion: string|null;
|
||||
companion: string | null;
|
||||
userUuid: string;
|
||||
}
|
||||
|
||||
export interface PositionInterface {
|
||||
x: number,
|
||||
y: number
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
|
||||
export interface GroupCreatedUpdatedMessageInterface {
|
||||
position: PositionInterface,
|
||||
groupId: number,
|
||||
groupSize: number
|
||||
position: PositionInterface;
|
||||
groupId: number;
|
||||
groupSize: number;
|
||||
}
|
||||
|
||||
export interface WebRtcDisconnectMessageInterface {
|
||||
userId: number
|
||||
userId: number;
|
||||
}
|
||||
|
||||
export interface WebRtcSignalReceivedMessageInterface {
|
||||
userId: number,
|
||||
signal: SignalData,
|
||||
webRtcUser: string | undefined,
|
||||
webRtcPassword: string | undefined
|
||||
userId: number;
|
||||
signal: SignalData;
|
||||
webRtcUser: string | undefined;
|
||||
webRtcPassword: string | undefined;
|
||||
}
|
||||
|
||||
export interface ViewportInterface {
|
||||
left: number,
|
||||
top: number,
|
||||
right: number,
|
||||
bottom: number,
|
||||
left: number;
|
||||
top: number;
|
||||
right: number;
|
||||
bottom: number;
|
||||
}
|
||||
|
||||
export interface ItemEventMessageInterface {
|
||||
itemId: number,
|
||||
event: string,
|
||||
state: unknown,
|
||||
parameters: unknown
|
||||
itemId: number;
|
||||
event: string;
|
||||
state: unknown;
|
||||
parameters: unknown;
|
||||
}
|
||||
|
||||
export interface RoomJoinedMessageInterface {
|
||||
//users: MessageUserPositionInterface[],
|
||||
//groups: GroupCreatedUpdatedMessageInterface[],
|
||||
items: { [itemId: number] : unknown }
|
||||
items: { [itemId: number]: unknown };
|
||||
}
|
||||
|
||||
export interface PlayGlobalMessageInterface {
|
||||
id: string
|
||||
type: string
|
||||
message: string
|
||||
id: string;
|
||||
type: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
export interface OnConnectInterface {
|
||||
connection: RoomConnection,
|
||||
room: RoomJoinedMessageInterface
|
||||
connection: RoomConnection;
|
||||
room: RoomJoinedMessageInterface;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue