Add interface to join chat using `Chat`
This commit is contained in:
parent
d645eadba4
commit
964f322ee2
|
@ -149,7 +149,7 @@ export function useMessenger(chatId: string, chatIdList: string[]) {
|
|||
|
||||
await Promise.all(
|
||||
chatIdList.map(async (id) => {
|
||||
await messenger.joinChat(id);
|
||||
await messenger.joinChatById(id);
|
||||
setLastLoadTime((prev) => {
|
||||
return {
|
||||
...prev,
|
||||
|
|
|
@ -62,8 +62,8 @@ describe("Messenger", () => {
|
|||
it("Sends & Receive public chat messages", async function () {
|
||||
this.timeout(10_000);
|
||||
|
||||
await messengerAlice.joinChat(testChatId);
|
||||
await messengerBob.joinChat(testChatId);
|
||||
await messengerAlice.joinChatById(testChatId);
|
||||
await messengerBob.joinChatById(testChatId);
|
||||
|
||||
const text = "This is a message.";
|
||||
|
||||
|
@ -87,8 +87,8 @@ describe("Messenger", () => {
|
|||
it("public chat messages have signers", async function () {
|
||||
this.timeout(10_000);
|
||||
|
||||
await messengerAlice.joinChat(testChatId);
|
||||
await messengerBob.joinChat(testChatId);
|
||||
await messengerAlice.joinChatById(testChatId);
|
||||
await messengerBob.joinChatById(testChatId);
|
||||
|
||||
const text = "This is a message.";
|
||||
|
||||
|
|
|
@ -36,16 +36,27 @@ export class Messenger {
|
|||
return new Messenger(identity, waku);
|
||||
}
|
||||
|
||||
/**
|
||||
* Joins a public chat using its id.
|
||||
*
|
||||
* For community chats, prefer [[joinChat]].
|
||||
*
|
||||
* Use `addListener` to get messages received on this chat.
|
||||
*/
|
||||
public async joinChatById(chatId: string): Promise<void> {
|
||||
const chat = await Chat.create(chatId);
|
||||
|
||||
await this.joinChat(chat);
|
||||
}
|
||||
|
||||
/**
|
||||
* Joins a public chat.
|
||||
*
|
||||
* Use `addListener` to get messages received on this chat.
|
||||
*/
|
||||
public async joinChat(chatId: string): Promise<void> {
|
||||
if (this.chatsById.has(chatId))
|
||||
throw `Failed to join chat, it is already joined: ${chatId}`;
|
||||
|
||||
const chat = await Chat.create(chatId);
|
||||
public async joinChat(chat: Chat): Promise<void> {
|
||||
if (this.chatsById.has(chat.id))
|
||||
throw `Failed to join chat, it is already joined: ${chat.id}`;
|
||||
|
||||
this.waku.addDecryptionKey(chat.symKey);
|
||||
|
||||
|
@ -66,7 +77,7 @@ export class Messenger {
|
|||
[chat.contentTopic]
|
||||
);
|
||||
|
||||
this.chatsById.set(chatId, chat);
|
||||
this.chatsById.set(chat.id, chat);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue