feat: enhance push notification management and error handling
- Implemented error handling for unhandled promise rejections related to message channels, improving stability during push notification operations. - Updated the PushNotificationManager component to manage push subscription registration with timeouts, preventing application hangs. - Enhanced the sidebar and chat components to display user avatars, improving user experience and visual consistency. - Refactored email processing logic to support scheduled email sending, integrating new backend functionalities for better email management. - Improved overall error handling and logging across components to reduce console spam and enhance debugging capabilities.
This commit is contained in:
@@ -814,7 +814,7 @@
|
||||
if (usarTemplate && templateId) {
|
||||
const template = templateSelecionado;
|
||||
if (template) {
|
||||
resultadoEmail = await client.mutation(
|
||||
const emailId = await client.action(
|
||||
api.email.enviarEmailComTemplate,
|
||||
{
|
||||
destinatario: destinatario.email,
|
||||
@@ -824,11 +824,11 @@
|
||||
nome: destinatario.nome,
|
||||
matricula: destinatario.matricula,
|
||||
},
|
||||
enviadoPorId: authStore.usuario._id as Id<"usuarios">,
|
||||
enviadoPor: authStore.usuario._id as Id<"usuarios">,
|
||||
agendadaPara: agendadaPara,
|
||||
},
|
||||
);
|
||||
if (resultadoEmail?.sucesso && resultadoEmail?.emailId) {
|
||||
if (emailId) {
|
||||
if (agendadaPara) {
|
||||
const dataFormatada = format(
|
||||
new Date(agendadaPara),
|
||||
@@ -840,7 +840,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
`Email agendado para ${dataFormatada}`,
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
} else {
|
||||
adicionarLog(
|
||||
@@ -848,7 +848,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
"Email enfileirado para envio",
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -868,18 +868,19 @@
|
||||
);
|
||||
}
|
||||
} else {
|
||||
resultadoEmail = await client.mutation(
|
||||
const emailId = await client.mutation(
|
||||
api.email.enfileirarEmail,
|
||||
{
|
||||
destinatario: destinatario.email,
|
||||
destinatarioId: destinatario._id as Id<"usuarios">,
|
||||
assunto: "Notificação do Sistema",
|
||||
corpo: mensagemPersonalizada,
|
||||
enviadoPorId: authStore.usuario._id as Id<"usuarios">,
|
||||
enviadoPor: authStore.usuario._id as Id<"usuarios">,
|
||||
agendadaPara: agendadaPara,
|
||||
},
|
||||
);
|
||||
if (resultadoEmail?.sucesso && resultadoEmail?.emailId) {
|
||||
if (emailId) {
|
||||
resultadoEmail = { sucesso: true, emailId };
|
||||
if (agendadaPara) {
|
||||
const dataFormatada = format(
|
||||
new Date(agendadaPara),
|
||||
@@ -891,7 +892,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
`Email agendado para ${dataFormatada}`,
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
} else {
|
||||
adicionarLog(
|
||||
@@ -899,7 +900,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
"Email enfileirado para envio",
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -1064,7 +1065,7 @@
|
||||
if (usarTemplate && templateId) {
|
||||
const template = templateSelecionado;
|
||||
if (template) {
|
||||
const resultadoEmail = await client.mutation(
|
||||
const emailId = await client.action(
|
||||
api.email.enviarEmailComTemplate,
|
||||
{
|
||||
destinatario: destinatario.email,
|
||||
@@ -1074,11 +1075,11 @@
|
||||
nome: destinatario.nome,
|
||||
matricula: destinatario.matricula || "",
|
||||
},
|
||||
enviadoPorId: authStore.usuario._id as Id<"usuarios">,
|
||||
enviadoPor: authStore.usuario._id as Id<"usuarios">,
|
||||
agendadaPara: agendadaPara,
|
||||
},
|
||||
);
|
||||
if (resultadoEmail?.sucesso && resultadoEmail?.emailId) {
|
||||
if (emailId) {
|
||||
if (agendadaPara) {
|
||||
const dataFormatada = format(
|
||||
new Date(agendadaPara),
|
||||
@@ -1090,7 +1091,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
`Agendado para ${dataFormatada}`,
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
} else {
|
||||
adicionarLog(
|
||||
@@ -1098,7 +1099,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
"Enfileirado para envio",
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
}
|
||||
sucessosEmail++;
|
||||
@@ -1121,18 +1122,19 @@
|
||||
falhasEmail++;
|
||||
}
|
||||
} else {
|
||||
const resultadoEmail = await client.mutation(
|
||||
const emailId = await client.mutation(
|
||||
api.email.enfileirarEmail,
|
||||
{
|
||||
destinatario: destinatario.email,
|
||||
destinatarioId: destinatario._id as Id<"usuarios">,
|
||||
assunto: "Notificação do Sistema",
|
||||
corpo: mensagemPersonalizada,
|
||||
enviadoPorId: authStore.usuario._id as Id<"usuarios">,
|
||||
enviadoPor: authStore.usuario._id as Id<"usuarios">,
|
||||
agendadaPara: agendadaPara,
|
||||
},
|
||||
);
|
||||
if (resultadoEmail?.sucesso && resultadoEmail?.emailId) {
|
||||
if (emailId) {
|
||||
resultadoEmail = { sucesso: true, emailId };
|
||||
if (agendadaPara) {
|
||||
const dataFormatada = format(
|
||||
new Date(agendadaPara),
|
||||
@@ -1144,7 +1146,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
`Agendado para ${dataFormatada}`,
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
} else {
|
||||
adicionarLog(
|
||||
@@ -1152,7 +1154,7 @@
|
||||
destinatario.nome,
|
||||
"fila",
|
||||
"Enfileirado para envio",
|
||||
resultadoEmail.emailId,
|
||||
emailId,
|
||||
);
|
||||
}
|
||||
sucessosEmail++;
|
||||
|
||||
Reference in New Issue
Block a user