Why my /socket.io end up in the Companion route?

server.js

const companion = require("@uppy/companion")
const express = require("express")
const { createServer } = require("http")
const { Server } = require("socket.io")

const app = express()
const httpServer = createServer(app)
const io = new Server(httpServer, {
serveClient: false
})
app.use("/companion", companion.app(options))
httpServer.listen(3000)

companion.socket(httpServer)

client.js

const { io } = require("socket.io-client")
const socket = io()
socket.on("connect", () => {
  console.log("client connected")
})
socket.on("connect_error", err => {
  console.log("client connection error:", err)
})
socket.on("disconnect", reason => {
  console.log("client disconnect:", reason)
})

Error
companion: 2022-12-03T17:24:27.834Z [info] socket.connect connection received
from /socket.io/?EIO=4&transport=websocket&sid=NAk45eCC3jVCe7b4AAAA
node:events:368
throw er; // Unhandled ‘error’ event
^

Error: Invalid WebSocket frame: invalid UTF-8 sequence
at Receiver.dataMessage (C:\Users\rithi\OneDrive\Desktop\KhabarBook\backend\node_modules\ws\lib\receiver.js:519:18)
at Receiver.getData (C:\Users\rithi\OneDrive\Desktop\KhabarBook\backend\node_modules\ws\lib\receiver.js:446:17)
at Receiver.startLoop (C:\Users\rithi\OneDrive\Desktop\KhabarBook\backend\node_modules\ws\lib\receiver.js:148:22)
at Receiver._write (C:\Users\rithi\OneDrive\Desktop\KhabarBook\backend\node_modules\ws\lib\receiver.js:83:10)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at Receiver.Writable.write (node:internal/streams/writable:334:10)
at Socket.socketOnData (C:\Users\rithi\OneDrive\Desktop\KhabarBook\backend\node_modules\ws\lib\websocket.js:1272:35)
at Socket.emit (node:events:402:35)
at Socket.emit (node:domain:475:12)
Emitted ‘error’ event on WebSocket instance at:
at Receiver.receiverOnError (C:\Users\rithi\OneDrive\Desktop\KhabarBook\backend\node_modules\ws\lib\websocket.js:1158:13)
at Receiver.emit (node:events:390:28)
at Receiver.emit (node:domain:475:12)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: ‘WS_ERR_INVALID_UTF8’,
[Symbol(status-code)]: 1007
}