// Replay old comments and images to a newly-joining client
socket.emit('reset');
- state.comments.forEach((comment) => {
- socket.emit('comment', comment)
- });
state.images.forEach((image) => {
socket.emit('image', image)
});
+ state.comments.forEach((comment) => {
+ socket.emit('comment', comment)
+ });
socket.on('set-name', (name) => {
console.log("Received set-name event: " + name);
});
// When any client comments, send that to all clients (including sender)
- socket.on('comment', (comment_text) => {
- comment = { name: socket.request.session.name,
- text: comment_text }
+ socket.on('comment', (comment) => {
+ comment.name = socket.request.session.name;
io.emit('comment', comment);
state.comments.push(comment);
});
// Generate an image when requested
socket.on('generate', (request) => {
- console.log(`Generating image with code=${request['code']} and prompt=${request['prompt']}`);
+ console.log(`Generating image for ${socket.request.session.name} with code=${request['code']} and prompt=${request['prompt']}`);
async function generate_image(code, prompt) {
var promise;
if (code) {
child.stdout.on('data', (data) => {
const images = JSON.parse(data);
images.forEach((image) => {
- console.log(`Emitting image to clients: ${image}`);
+ image.index = state.images.length;
io.emit('image', image);
state.images.push(image);
});