ILIAS icon indicating copy to clipboard operation
ILIAS copied to clipboard

Chatroom: Add `socket.io` and `socket.io-client`

Open fhelfer opened this issue 1 month ago • 1 comments

This PR adds socket.io and socket.io-client as NPM dependency for the chatroom.

General Information:

  • [X] this dependency was already used in ILIAS.
  • [X] License: MIT

Usages:

  • components/ILIAS/Chatroom/chat/api.js
  • components/ILIAS/Chatroom/chat/Bootstrap/SetupServer.js

Wrapped By:

  • il.Chatroom (see: components/ILIAS/OnScreenChat/js/chat.js)
  • SetupServer see:
    • components/ILIAS/Chatroom/chat/Bootstrap/SetupServer.js

Reasoning:

socket.io is a library that enables low-latency, bidirectional and event-based communication between a client and a server. It is used in the Node.js based ILIAS chat server, which relies on the provided WebSocket low-level transport mechanisms. Socket.IO offers HTTP long-polling as a fallback option, which is useful in environments that don't support WebSockets.

Maintenance:

socket.io is a well-maintained package with major releases every few years and recent activities. (The latest version is from 25.10.2025)

Links:

  • NPM: https://www.npmjs.com/package/socket.io / https://www.npmjs.com/package/socket.io-client
  • GitHub: https://github.com/socketio/socket.io (they are maintained in the same repo)
  • Documentation: https://socket.io/docs/

fhelfer avatar Nov 28 '25 11:11 fhelfer

Jour Fixe, 08 DEC 2025: Dependency is accepted for ILIAS 12.

matthiaskunkel avatar Dec 08 '25 13:12 matthiaskunkel