// Load comments at server startup
fs.readFile(state_file, (err, data) => {
if (err)
- state = { images: [], comments: [] };
+ state = { images: [] };
else
state = JSON.parse(data);
});
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);
socket.on('comment', (comment) => {
comment.name = socket.request.session.name;
io.emit('comment', comment);
- state.comments.push(comment);
+ image = state.images.find(image => image.id == comment.image_id);
+ delete comment.image_id;
+ image.comments.push(comment);
});
// Generate an image when requested
child.stdout.on('data', (data) => {
const images = JSON.parse(data);
images.forEach((image) => {
- image.index = state.images.length;
+ image.id = state.images.length;
io.emit('image', image);
state.images.push(image);
});