improvement: rejoin websocket channels after reconnecting

This commit is contained in:
canove
2021-01-10 11:07:10 -03:00
parent d374c84b60
commit 8ef50a76ca
7 changed files with 16 additions and 8 deletions

View File

@@ -354,7 +354,8 @@ const MessagesList = ({ ticketId, isGroup, setReplyingMessage }) => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
socket.emit("joinChatBox", ticketId);
socket.on("connect", () => socket.emit("joinChatBox", ticketId));
socket.on("appMessage", data => {
if (data.action === "create") {

View File

@@ -77,7 +77,7 @@ const NotificationsPopOver = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
socket.emit("joinNotification");
socket.on("connect", () => socket.emit("joinNotification"));
socket.on("ticket", data => {
if (data.action === "updateUnread" || data.action === "delete") {

View File

@@ -86,7 +86,8 @@ const Ticket = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
socket.emit("joinChatBox", ticketId);
socket.on("connect", () => socket.emit("joinChatBox", ticketId));
socket.on("ticket", data => {
if (data.action === "updateStatus") {

View File

@@ -175,11 +175,14 @@ const TicketsList = ({ status, searchParam, showAll }) => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
if (status) {
socket.emit("joinTickets", status);
} else {
socket.emit("joinNotification");
}
socket.on("connect", () => {
if (status) {
socket.emit("joinTickets", status);
} else {
socket.emit("joinNotification");
}
});
socket.on("ticket", data => {
if (data.action === "updateUnread") {

View File

@@ -128,6 +128,7 @@ const Contacts = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
socket.on("contact", data => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_CONTACTS", payload: data.contact });

View File

@@ -52,6 +52,7 @@ const Settings = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
socket.on("settings", data => {
if (data.action === "update") {
setSettings(prevState => {

View File

@@ -124,6 +124,7 @@ const Users = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
socket.on("user", data => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_USERS", payload: data.user });