Ticket #1945 (closed defeito: fixed)

Opened 8 years ago

Last modified 8 years ago

Ordenação incorreta de mensagens

Reported by: cesar.vianna Owned by: fernando.lages
Priority: baixa Milestone: Expresso 2.3.0
Component: ExpressoMail Version: branch 2.3
Severity: média Keywords: TAG2.2.0.1.3, TAG2.2.0.1.6, SS 110650
Cc: WorkGroup: Centro de Testes

Description (last modified by guilherme.silva) (diff)

Quando há mensagem informando evento de calendário, estas não ficam ordenadas corretamente em ordem decrescente ou crescente por remetente.

 Caso de Teste

Attachments

ordenacao-errada-arq-local.jpg Download (188.3 KB) - added by cesar.vianna 8 years ago.
Ordenação Arquivamento Local
ordenacao-errada-servidor.jpg Download (182.0 KB) - added by cesar.vianna 8 years ago.
Ordenação IMAP
ordenacao-incorreta.ogv Download (4.1 MB) - added by cesar.vianna 8 years ago.
Ordenação Incorreta

Change History

comment:1 Changed 8 years ago by guilherme.silva

  • Keywords TAG2.2.0.1.3, SS 110650 added; TAG2.2.0.1.3 removed
  • Owner changed from guilherme.silva to zapa
  • Description modified (diff)

comment:2 Changed 8 years ago by zapa

  • Owner changed from zapa to fernando.lages

comment:3 Changed 8 years ago by rommelcysne

Foi alterada a forma de ordenação. Tirou-se o sort() da função refresh(), em class.imp_functions.inc.php, e agora está sendo seguida a ordem das mensagens ordenadas pelo servidor IMAP.

O que é passado para a função refresh() em main.js é o índice correspondente à posição da nova mensagem no array de mensagens vindo do IMAP

($msg_key_position = array_search($msg_number, $msgs_in_the_server);

No javascript, a nova mensagem entra na lista na posição anterior ao elemento que se encontra na posição $msg_key_position e, por conseqüência, assume o índice $msg_key_position.

No final, as novas mensagens ficarão na mesma posição que estavam no array vindo do IMAP.

Eu e o Fernando testamos várias vezes e não encontramos problemas, mas não custa pedir: TESTAR BASTANTE!! :)

Arquivos alterados:

  • expressoMail1_2/inc/class.imap_functions.inc.php
  • expressoMail1_2/js/main.js

Commit da revisão [4611] do branch 2.2.0.1.

comment:4 Changed 8 years ago by fernando.lages

  • Status changed from new to closed
  • Resolution set to fixed

O IMAP não retorna as mensagens de mesmo "From" sempre na mesma ordem. A inclusão de novas mensagens era baseada na inclusão de uma nova mensagem antes de uma já existente no client. Se a ordem estivesse invertida, uma mensagem poderia ser inserida fora da ordem correta. Além disso, se, por exemplo, 3 mensagens de uma mesma pessoa fossem enviadas consecutivamente e só então clicado em "Atualizar", poderia ocorrer que duas delas fossem incluídas no início da lista, pois a mensagem antes da qual elas deveriam ser inseridas ainda não existia no cliente.

Nós testamos enviando poucas e muitas mensagens, de um único usuário e de usuários diversos.

comment:5 Changed 8 years ago by zapa

Identificou-se o problema em todas as versões >=2.0, apenas a reprodução ficou dificultada pois depende da sequencia ordenada no IMAP, da msg a ser ordenada e do sort do php.

O Srot do IMAP e PHP, com a rotina/algoritimo de classificação utilizado "podem gerar problemas" na inserção de um email na lista ordenada. Em geral poderá ficar no início ou no final da lista, ou mesmo perdido no meio da lista(que possui ordem diferente do que a do IMAP).

Se alguém puder ajudar nos testes preliminares...

comment:6 Changed 8 years ago by cesar.vianna

  • Keywords TAG2.2.0.1.6, added
  • Status changed from closed to reopened
  • Resolution fixed deleted

Erro ocorreu na TAG2.2.0.1.6, conforme imagens em anexo.

Plataforma: todas Arquivamento local e imap.

Changed 8 years ago by cesar.vianna

Ordenação Arquivamento Local

Changed 8 years ago by cesar.vianna

Ordenação IMAP

comment:7 Changed 8 years ago by zapa

  • Status changed from reopened to new

comment:8 follow-up: ↓ 9 Changed 8 years ago by fernando.lages

Cesar, esta ocorrencia também foi com mensagens de eventos de calendário?

comment:9 in reply to: ↑ 8 Changed 8 years ago by cesar.vianna

Replying to fernando.lages:

Sim. Conforme a figura.

comment:10 follow-up: ↓ 11 Changed 8 years ago by fernando.lages

Cesar, tem como detalhar mais os passos do teste? Aqui testamos e não conseguimos reproduzir.

comment:11 in reply to: ↑ 10 Changed 8 years ago by cesar.vianna

Replying to fernando.lages:

Lages, pra mim ocorre sempre.

As características da minha caixa: 244 mensagens na caixa de entrada, 5 notificações de agenda (que ficam ordenadas incorretamente).

Anexei um vídeo da reprodução. Se precisar, podes acessar minha conta para simular.

Changed 8 years ago by cesar.vianna

Ordenação Incorreta

comment:12 Changed 8 years ago by zapa

  • Version changed from branch 2.2 to branch 2.3

comment:13 follow-up: ↓ 14 Changed 8 years ago by rommelcysne

César, descreve como você fez o teste.

No vídeo as mensagens que ficam fora da ordem são uns convites de agendamento, só que não entendi como é que você recebeu um convite de agendamento feito por você mesmo.

comment:14 in reply to: ↑ 13 Changed 8 years ago by cesar.vianna

Replying to rommelcysne:

Mensagens exportadas e enviadas ao desenvolvimento para simulação.

comment:15 Changed 8 years ago by rommelcysne

César, importei o arquivo que você mandou e...... a ordenação ficou correta!!! Só que as mensagens do arquivo estão diferentes do que você descreveu acima:

"As características da minha caixa: 244 mensagens na caixa de entrada, 5 notificações de agenda (que ficam ordenadas incorretamente)."

Estas mensagens você ainda tem?

comment:16 Changed 8 years ago by guilherme.silva

  • Priority changed from normal to baixa

comment:17 Changed 8 years ago by fernando.lages

Consegui reproduzir.

Se o usuário do FROM também estiver contido no TO, mas não for o primeiro da lista, ou estiver somente como CC ou BCC, e com SIM nas preferências em "Trocar remetente pelo destinatário na coluna QUEM somente na pasta Enviado", o email aparece no inbox com o FROM na coluna QUEM, mas a ordenação é feita pelo TO. Trocando nas preferências para NÃO, a coluna QUEM é ordenada por e também exibido o TO.

comment:18 Changed 8 years ago by fernando.lages

  • Status changed from new to closed
  • Resolution set to fixed

Commit em [5106].

Note: See TracTickets for help on using tickets.