Ticket #1322 (closed defeito: fixed)

Opened 9 years ago

Last modified 9 years ago

Data incorreta nas mensagens na caixa de entrada

Reported by: rafaelraymundo Owned by: kolling
Priority: normal Milestone: Expresso 2.2
Component: ExpressoMail Version: branch 2.2
Severity: grave Keywords: SERPRO 2.2 UNIFICA
Cc: WorkGroup:

Description

A lista de mensagens aparece com 3horas de atraso em relação ao horário mostrado ao abrir as mensagens.

Talvez a solução seja a configuração timezone no php.ini date.timezone = ETC/GMT+3

Analisar e comparar a implementação da 2.0 e 2.2

  • Esse problema foi relatado no trunk: Ticket #433

Change History

comment:1 Changed 9 years ago by rafaelraymundo

  • Summary changed from Data incorreta to Data incorreta nas mensagens na caixa de entrada

comment:2 Changed 9 years ago by rodsouza

ETC/GMT+3 não é o fuso oficial do Brasil

comment:3 Changed 9 years ago by niltonneto

Horário de verão PHP5

Por causa das bizarrices do PHP, a opção de timezone relativa à zona GMT -3:00 (usada no Brasil sem horário de verão), é Etc/GMT+3 – assim mesmo, com sinal de mais. Portanto, a linha em questão ficará assim: date.timezone = Etc/GMT+3

comment:4 Changed 9 years ago by kolling

  • Owner changed from ninguem to kolling

Testando em ambiente de desenvolvimento não houve mudança de comportamento ao configurar date.timezone no php.ini.

Descobri que o expresso calculava o horário erroneamente no método get_header(), alterando o valor de $header->udate de GMT para timezone local do servidor. O correto deveria ser manter esta variável com a hora GMT e corrigir o horário somente na apresentação.

Fiz isto em ambiente de desenvolvimento, funcionou, mas surgiu outro problema.

Como a preparação para visualização da data/hora na lista de mensagens é realizada no javascript e a preparação para a visualização da mensagem (ao abrir) é feita no php, ocorre diferença entre as datas caso o servidor estiver configurado com um timezone diferente do cliente.

Uma solução para isso seria trabalhar sempre com a hora GMT e criar uma preferência para o usuário escolher o timezone que deseja.

O que vocês acham?

comment:5 follow-up: ↓ 6 Changed 9 years ago by rodsouza

A questão do GMT é a abordagem que sempre defendi entretanto existe inúmeras resistências.

A utilização de tal também deve ser feita cuidadosamente e não pode ser deixa a cargo do cliente para evitar prolemas maiores.

comment:6 in reply to: ↑ 5 Changed 9 years ago by kolling

Replying to rodsouza:

A questão do GMT é a abordagem que sempre defendi entretanto existe inúmeras resistências.

A utilização de tal também deve ser feita cuidadosamente e não pode ser deixa a cargo do cliente para evitar prolemas maiores.


Essa é uma vantagem de implementarmos uma preferência, que o administrador do sistema pode definir como obrigatória, padrão ou deixar que o usuário defina.

Aliás, acho que para a próxima versão (2.3) deveríamos rever os fusos horários para o sistema como um todo. Nas preferências do expresso, um dos itens é "faixas de horários", mas infelizmente essas faixas de horários são definidas à partir do horário do servidor (deveria ser GMT) e não é utilizada pelo expressoMail.

comment:7 follow-up: ↓ 8 Changed 9 years ago by eduardoalex

Kolling,

Como estamos com essa atividade?

comment:8 in reply to: ↑ 7 Changed 9 years ago by kolling

Replying to eduardoalex:

Kolling,

Como estamos com essa atividade?

Implementando correções e preferência no ExpressoMail?.

comment:9 Changed 9 years ago by kolling

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

Commit na revisão [3493].

Criada preferência no e-mail para definir o timezone do usuário. Horário é mostrado levando esta preferência em consideração.

Se esta referência não estiver definida, o timezone "America/Sao_Paulo" é utilizado por default.[BR]]

comment:10 Changed 9 years ago by kolling

  • Status changed from closed to reopened
  • Resolution fixed deleted

Precisa acertar hora no arquivamento local.

comment:11 Changed 9 years ago by kolling

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

Corrigida hora no arquivamento local e no mobile. Revisão [3499].

comment:12 Changed 9 years ago by niltonneto

Kollling ,

Não daria para usar a preferência de timezone que já existe no Expresso, nas preferências obrigatórias dos usuários (Faixa de fuso horário), ao invés de criar uma nova preferência dentro do ExpressoMail?? Essa preferência existe para ser usada em qualquer módulo....

comment:13 Changed 9 years ago by niltonneto

Ops, agora que ligo o todo. Por favor, abra um ticket para revisarmos essa questão e amarre ao Marco "Backlog - Não planejado".

comment:14 Changed 9 years ago by kolling

  • Status changed from closed to reopened
  • Resolution fixed deleted

E-mails antigos no arquivamento local já capturados continuam com problemas. No local da data aparece NaN/NaN/NaN

comment:15 Changed 9 years ago by kolling

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

Corrigido na revisão [3512]. Agora as datas das mensagens locais capturadas antes desta alteração são exibidas corretamente.

Note: See TracTickets for help on using tickets.