
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
@icapps/chat-astrum
Advanced tools
Module to create custom chat setup
This module allows to have conversations with one or more recipients into a chat. Socket.io is being used for realtime messages.
Install via npm
npm install @icapps/chat-astrum
or via yarn
yarn add @icapps/chat-astrum
const chat = require('@icapps/chat-astrum');
import * as chat from '@icapps/chat-astrum';
The module uses a MongoDB database combined with mongoose. In order to run everything smoothly you have to make sure a mongoDB is available.
More information on MongoDB
These are related to all MongoDB operations.
Open a connection to MongoDB. This is required to do before trying to fetch any data from other methods below.
db.openConnection('mongodb://localhost:27017/db')
These are related to all socket.io operations
Start a new socket server instance. This should be called before trying to use any other socket methods. This uses a global singleton so you will always have one connection being used throughout all socket functions.
const app = http.createServer(); // Also works with Express server
const connection = socket.startSockerServer(app, {
path: '/socket',
serveClient: false,
...more socket options
});
All options can be found here
More information on socket.io
Add a new namespace onto the socket. Will always check if the namespace already exists and only add when non-existing.
socket.addNamespace('superCoolNamespace');
Find an existing by its id (asynchronous)
await conversation.findConversationById('...');
List all available conversations for a specific department and employment. (asynchronous)
await conversation.findMyConversations({
departmentId: '...',
employmentId: '...',
},
{
limit: 10, // Optional
offset: 0, // Optional
})
Start a new conversation (asynchronous)
await conversation.startConversation({
employmentIds: ['firstId', 'secondId'],
});
Leave a conversation (asynchronous)
await conversation.leave('myConvId', 'myEmplId');
Deletes a conversation (asynchronous)
await conversation.deleteConversation('myConvId');
Mark a conversation as read (asynchronous)
await conversation.markAsRead('myConvId', 'myEmplId');
Adds a meta tag indicating when an employment joined a department conversation
await conversation.addJoinedDepartmentLaterOn('employmentId', ['departmentId']);
Send a message to a specific room (conversation)
await message.sendMessage('myRoomId', {
message: 'This is a message',
senderId: 'specificEmploymentId',
firstName: 'Willem',
lastName: 'Le carrotier',
});
npm run test
to run all testsnpm run test:coverage
to run all tests with coverage reportFAQs
Chat module ESS
The npm package @icapps/chat-astrum receives a total of 0 weekly downloads. As such, @icapps/chat-astrum popularity was classified as not popular.
We found that @icapps/chat-astrum demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.