« get me outta code hell

combining log messages (currently only seek!) - mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
path: root/socket.js
diff options
context:
space:
mode:
author(quasar) nebula <towerofnix@gmail.com>2021-03-15 21:57:54 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-05-16 19:15:01 -0300
commitee6960dac5c11641cb1568643782158d85f15f59 (patch)
tree2ddabce31e5cce310647be18262ebcde8fc82f4a /socket.js
parent7ce9093c6a4623f5b87dd01989ebaa0f58a84649 (diff)
combining log messages (currently only seek!)
Diffstat (limited to 'socket.js')
-rw-r--r--socket.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/socket.js b/socket.js
index f70b95f..c1e4869 100644
--- a/socket.js
+++ b/socket.js
@@ -419,9 +419,19 @@ export function attachBackendToSocketClient(backend, client, {
   function logCommand(command) {
     const nickToMessage = nickname => `\x1b[32;1m${nickname}\x1b[0m`
     const itemToMessage = item => `\x1b[32m"${item.name}"\x1b[0m`
+
     let senderNickname = command.sender === 'server' ? 'the server' : command.senderNickname
+    // TODO: This should use a unique sender ID, provided by the server and
+    // corresponding to the socket. This could be implemented into the UI!
+    // But also, right now users can totally pretend to be the server by...
+    // setting their nickname to "the server", which is silly.
+    const sender = senderNickname
+
     let actionmsg = `sent ${command.code} (no action message specified)`
+    let code = command.code
+    let mayCombine = false
     let isVerbose = false
+
     switch (command.code) {
       case 'clear-queue':
         actionmsg = 'cleared the queue'
@@ -459,6 +469,7 @@ export function attachBackendToSocketClient(backend, client, {
         // TODO: the second value here should be the duration of the track
         // (this will make values like 0:0x:yy / 1:xx:yy appear correctly)
         actionmsg = `seeked to ${getTimeStringsFromSec(command.time, command.time).timeDone}`
+        mayCombine = true
         break
       case 'set-nickname':
         actionmsg = `updated their nickname (from ${nickToMessage(command.oldNickname)})`
@@ -496,7 +507,13 @@ export function attachBackendToSocketClient(backend, client, {
         break
     }
     const text = `${nickToMessage(senderNickname)} ${actionmsg}`
-    backend.showLogMessage(text, isVerbose)
+    backend.showLogMessage({
+      text,
+      code,
+      sender,
+      mayCombine,
+      isVerbose
+    })
   }
 
   client.on('sent-command', command => {