Handle QUIT messages

This commit is contained in:
Simon Ser 2020-07-08 18:39:24 +02:00
parent 8d2632ad9c
commit 44b1f28cb6
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
2 changed files with 23 additions and 1 deletions

View File

@ -206,7 +206,7 @@ export default class App extends Component {
}
}
if (msg.prefix.name != this.client.nick && msg.command != "PART") {
if (msg.prefix.name != this.client.nick && (msg.command != "PART" && msg.comand != "QUIT")) {
this.createBuffer(bufName);
}
@ -342,6 +342,23 @@ export default class App extends Component {
});
this.addMessage(channel, msg);
break;
case "QUIT":
var affectedBuffers = [];
this.setState((state) => {
var buffers = new Map(state.buffers);
state.buffers.forEach((buf) => {
if (!buf.members.has(msg.prefix.name) && buf.name != msg.prefix.name) {
return;
}
var members = new Map(buf.members);
members.delete(msg.prefix.name);
buffers.set(buf.name, { ...buf, members });
affectedBuffers.push(buf.name);
});
return { buffers };
});
affectedBuffers.forEach((name) => this.addMessage(name, msg));
break;
case "NICK":
var newNick = msg.params[0];

View File

@ -71,6 +71,11 @@ function LogLine(props) {
${createNick(msg.prefix.name)} has left
`;
break;
case "QUIT":
content = html`
${createNick(msg.prefix.name)} has quit
`;
break;
case "NICK":
var newNick = msg.params[0];
content = html`