|
@@ -104,9 +104,11 @@ export function useConversas() {
|
|
|
|
|
|
|
|
async function buscarNovasMensagens() {
|
|
async function buscarNovasMensagens() {
|
|
|
if (!conversaAtivaId.value || buscandoNovasMensagens) return;
|
|
if (!conversaAtivaId.value || buscandoNovasMensagens) return;
|
|
|
|
|
+ const idConsultado = conversaAtivaId.value;
|
|
|
buscandoNovasMensagens = true;
|
|
buscandoNovasMensagens = true;
|
|
|
try {
|
|
try {
|
|
|
- const { results } = await listarMensagensConversa(conversaAtivaId.value, ultimoTimestamp);
|
|
|
|
|
|
|
+ const { results } = await listarMensagensConversa(idConsultado, ultimoTimestamp);
|
|
|
|
|
+ if (conversaAtivaId.value !== idConsultado) return;
|
|
|
if (results.length > 0) {
|
|
if (results.length > 0) {
|
|
|
const idsExistentes = new Set(mensagens.value.map((m) => m.Id));
|
|
const idsExistentes = new Set(mensagens.value.map((m) => m.Id));
|
|
|
const novas = results.filter((m) => !idsExistentes.has(m.Id));
|
|
const novas = results.filter((m) => !idsExistentes.has(m.Id));
|
|
@@ -128,6 +130,8 @@ export function useConversas() {
|
|
|
mensagens.value = [];
|
|
mensagens.value = [];
|
|
|
limparMidiaCache();
|
|
limparMidiaCache();
|
|
|
ultimoTimestamp = null;
|
|
ultimoTimestamp = null;
|
|
|
|
|
+ sugestao.value = null;
|
|
|
|
|
+ sugestaoError.value = "";
|
|
|
mensagensLoading.value = true;
|
|
mensagensLoading.value = true;
|
|
|
mensagensError.value = "";
|
|
mensagensError.value = "";
|
|
|
|
|
|
|
@@ -136,8 +140,6 @@ export function useConversas() {
|
|
|
if (conversaAtivaId.value !== id) return;
|
|
if (conversaAtivaId.value !== id) return;
|
|
|
mensagens.value = results;
|
|
mensagens.value = results;
|
|
|
ultimoTimestamp = results.length > 0 ? results[results.length - 1].Timestamp : null;
|
|
ultimoTimestamp = results.length > 0 ? results[results.length - 1].Timestamp : null;
|
|
|
- sugestao.value = null;
|
|
|
|
|
- sugestaoError.value = "";
|
|
|
|
|
if (results.length && results[results.length - 1].Direcao === "entrada") buscarSugestao();
|
|
if (results.length && results[results.length - 1].Direcao === "entrada") buscarSugestao();
|
|
|
} catch (err) {
|
|
} catch (err) {
|
|
|
if (conversaAtivaId.value !== id) return;
|
|
if (conversaAtivaId.value !== id) return;
|