case '001' | 'NICK':
                 self.update_login(nickname=msg.params[0], nick_confirmed=True)
             case 'PRIVMSG':
-                nickname = msg.source.split('!')[0]
-                self._log(msg.params[-1], stream=nickname, out=False)
+                self._log(msg.params[-1], out=False,
+                          stream=msg.source.split('!')[0])
             case 'CAP':
                 if (result := self._caps.process_msg(msg.params[1:])):
                     if isinstance(result, str):
 
                 to_change[key] = (old_value, new_value)
         for key, vals in to_change.items():
             self.log(f'changing {key}: [{vals[0]}] -> [{vals[1]}]',
-                     stream=STREAM_SERVER)
+                     stream=STREAM_ALL if key == 'nickname' else STREAM_SERVER)
             setattr(self, key, vals[1])
         tainteds = False
         if _PrivmsgPromptWidget.prefix_update_keys() | set(to_change):