🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@talkjs/core

Package Overview
Dependencies
Maintainers
9
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@talkjs/core

Lets you connect to your TalkJS chat as a user and read, subscribe to, and update your chat data.

1.3.0
latest
npm
Version published
Maintainers
9
Created
Source

TalkJS Core

The @talkjs/core package lets you connect to your TalkJS chat as a user and read, subscribe to, and update your chat data.

See our docs for more information.

Prerequisites

To use this package, you will need a TalkJS account. TalkJS provides a ready-to-use chat client for your application. Your account gives you access to TalkJS's free development environment.

Example

This example demonstrates how to create a TalkJS session and then create two users and conversation between them.

Install the @talkjs/core package:

npm install @talkjs/core
# or
yarn add @talkjs/core

Import it into the component where you want to use it:

import { getTalkSession } from "@talkjs/core";

Then add the following code to create the session, users and conversation:

// Replace with your own app ID
const appId = "<APP_ID>";
const userId = "alice";

const session = getTalkSession({ appId, userId });
session.currentUser.createIfNotExists({ name: "Alice" });

const conversation = session.conversation("my_conversation");
conversation.createIfNotExists();

conversation.subscribeMessages((messages) => {
  console.log(messages);
});

For example, if you are using React, add this code inside a useEffect hook.

Node.js compatibility

This package is primarily intended to be used in the browser because it only connects as a single user. However, it also works in Node.js.

The @talkjs/core package uses WebSockets to create a connection to the TalkJS servers. If you use @talkjs/core in the browser or in Node.js version 22, it will use the built-in WebSocket implementation automatically. Node.js version 21 will also use the built-in implementation if the --experimental-websocket flag is enabled.

If you are using an older version of Node.js without built-in support for WebSockets, you will need to add support with a library. We recommend installing the ws package. Then tell @talkjs/core to use WebSocket from the library:

import { getTalkSession, registerPolyfills } from "@talkjs/core";
import { WebSocket } from "ws";

registerPolyfills({ WebSocket: WebSocket });

const session = getTalkSession(...);

Support

If you encounter any problems with @talkjs/core, please open a chat with support. TalkJS support is staffed by engineers.

Changelog

1.3.0

  • Added TalkSession.subscribeConversations which returns a windowed subscription to your most recently active conversations.
    • Added ConversationListSubscription

1.2.0

  • Added ConversationRef.subscribeParticipants which returns a windowed subscription to the participants in the conversation.
    • Added ParticipantSubscription and ParticipantActiveState.
  • Improved startup time by sending queued requests faster when you first open the connection.

1.1.1

  • Added ConversationSnapshot.everyoneReadUntil which is the minimum of all the participants' readUntil values.

1.1.0

  • Added ConversationRef.subscribeTyping which lets you subscribe to typing indicators in a conversation.
    • Added TypingSubscription, TypingSnapshot, ManyTypingSnapshot, FewTypingSnapshot

1.0.1

  • Fixed a bug with ConversationRef.subscribe where it would emit the same snapshot multiple times in a row, when old messages were edited or deleted.
  • Exported types for GenericFileMetadata, AudioFileMetadata, ImageFileMetadata, VideoFileMetadata, and VoiceRecordingFileMetadata

1.0.0

  • Initial Release

Keywords

chat

FAQs

Package last updated on 17 Jun 2025

Did you know?

Socket

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.

Install

Related posts