fix: group update SSE event

This commit is contained in:
zerosoul
2022-05-18 22:15:45 +08:00
parent 03bce1b724
commit 45e9e4ef6d
4 changed files with 24 additions and 12 deletions
-1
View File
@@ -1,7 +1,6 @@
// const BASE_URL = `${location.origin}/api`;
const BASE_URL = `https://dev.rustchat.com/api`;
export const CACHE_VERSION = `0.2.13`;
// const BASE_URL = `https://rustchat.net/api`;
export const ContentTypes = {
text: "text/plain",
markdown: "text/markdown",
+2 -1
View File
@@ -1,5 +1,6 @@
import { createSlice } from "@reduxjs/toolkit";
import BASE_URL from "../config";
import { getNonNullValues } from "../../common/utils";
const initialState = {
ids: [],
byId: {},
@@ -71,7 +72,7 @@ const channelsSlice = createSlice({
}
break;
default:
state.byId[id] = { ...state.byId[id], ...rest };
state.byId[id] = { ...state.byId[id], ...getNonNullValues(rest) };
break;
}
},
-3
View File
@@ -1,8 +1,5 @@
import { useEffect, useState } from "react";
// import TextareaAutosize from "react-textarea-autosize";
import { useDispatch, useSelector } from "react-redux";
// import { useKey } from "rooks";
import useSendMessage from "../../hook/useSendMessage";
import useAddLocalFileMessage from "../../hook/useAddLocalFileMessage";
import { updateInputMode, updateUploadFiles } from "../../../app/slices/ui";
+15
View File
@@ -228,6 +228,17 @@ export default function useStreaming() {
console.log("joined group", data.group);
dispatch(addChannel(data.group));
break;
case "group_changed":
{
const { gid, ...rest } = data;
dispatch(
updateChannel({
id: gid,
...rest,
})
);
}
break;
case "user_joined_group":
{
console.log("new user joined group", data.gid);
@@ -245,6 +256,9 @@ export default function useStreaming() {
case "user_leaved_group":
{
const { gid, uid: uids } = data;
if (uids.findIndex((id) => id == loginUid) > -1) {
dispatch(removeChannel(gid));
} else {
dispatch(
updateChannel({
operation: "remove_member",
@@ -253,6 +267,7 @@ export default function useStreaming() {
})
);
}
}
break;
case "kick_from_group":
console.log("kicked from group", data.gid);