Quand le professeur créer le room il y a un delai avec aucune info puis ca afficher la classe donc petit bug
This commit is contained in:
MathieuSevignyLavallee 2024-11-11 15:46:02 -05:00
parent d37e6c540a
commit db6fa947d7
4 changed files with 26 additions and 13 deletions

View file

@ -43,12 +43,7 @@ class WebSocketService {
createRoom(roomName: string) {
if (this.socket) {
if(roomName){
this.socket.emit('create-room', {roomName});
}
else{
this.socket.emit('create-room');
}
this.socket.emit('create-room', roomName || undefined);
}
}

View file

@ -9,6 +9,8 @@ services:
container_name: frontend
ports:
- "5173:5173"
networks:
- quiz_network
restart: always
backend:
@ -31,6 +33,8 @@ services:
FRONTEND_URL: "http://localhost:5173"
depends_on:
- mongo
networks:
- quiz_network
restart: always
quizroom:
@ -42,9 +46,10 @@ services:
- "4500:4500"
depends_on:
- backend
networks:
- quiz_network
restart: always
# Ce conteneur sert de routeur pour assurer le bon fonctionnement de l'application
nginx:
build:
context: ./nginx
@ -55,9 +60,10 @@ services:
depends_on:
- backend
- frontend
networks:
- quiz_network
restart: always
# Ce conteneur est la base de données principale pour l'application
mongo:
image: mongo
container_name: mongo
@ -66,9 +72,10 @@ services:
tty: true
volumes:
- mongodb_data:/data/db
networks:
- quiz_network
restart: always
# Ce conteneur assure que l'application est à jour en allant chercher s'il y a des mises à jours à chaque heure
watchtower:
image: containrrr/watchtower
container_name: watchtower
@ -80,8 +87,14 @@ services:
- WATCHTOWER_DEBUG=true
- WATCHTOWER_INCLUDE_RESTARTING=true
- WATCHTOWER_SCHEDULE=0 0 5 * * * # At 5 am everyday
networks:
- quiz_network
restart: always
networks:
quiz_network:
driver: bridge
volumes:
mongodb_data:
external: false

View file

@ -17,8 +17,12 @@ export const setupWebsocket = (io: Server): void => {
totalConnections++;
console.log("A user connected:", socket.id, "| Total connections:", totalConnections);
socket.on("create-room", (sentRoomName?: string) => {
const roomName = sentRoomName ? sentRoomName.toUpperCase() : generateRoomName();
socket.on("create-room", (sentRoomName) => {
// Ensure sentRoomName is a string before applying toUpperCase()
const roomName = (typeof sentRoomName === "string" && sentRoomName.trim() !== "")
? sentRoomName.toUpperCase()
: generateRoomName();
if (!io.sockets.adapter.rooms.get(roomName)) {
socket.join(roomName);
socket.emit("create-success", roomName);

View file

@ -24,7 +24,8 @@ class DockerRoomProvider extends BaseRoomProvider {
HostPort: ""
}
]
}
},
NetworkMode: "evaluetonsavoir_quiz_network"
},
Env: [...options.env || [], `ROOM_ID=${roomId}`]
};
@ -33,7 +34,7 @@ class DockerRoomProvider extends BaseRoomProvider {
await container.start();
const containerInfo = await container.inspect();
const containerIP = containerInfo.NetworkSettings.IPAddress;
const containerIP = containerInfo.NetworkSettings.Networks.evaluetonsavoir_quiz_network.IPAddress;
const host = `${containerIP}:4500`;
return await this.roomRepository.create(new Room(roomId, container_name, host, 0));