Edição da data de término do evento → data pós-evento no título do tópico não atualizada

Testado em 3.6.0.beta2, tanto quanto me lembro, o problema não apareceu no beta1

Passos:

  1. Crie um novo tópico com a data de início do evento no passado e a data de término no futuro (por exemplo, em 3 horas)
  2. Publique o tópico, a data do evento no título do tópico é exibida corretamente
  3. Atualize a data de término do evento para um horário posterior ou anterior
  4. Ocorre o problema: a data do evento no título do tópico permanece a mesma

Tentei atualizar o HTML também, mas o problema persiste

Editar: Encontrei o mesmo problema ao editar apenas a data de início do evento, mas ainda não consegui reproduzi-lo…

1 curtida

Como você está editando o evento, pela interface do usuário ou pelo markdown?

Ambos se comportam de forma diferente?

Pelo que me lembro, o problema apareceu em ambos os casos, mas não me lembro 100%.

Às vezes, a data de início não era atualizada e, às vezes, a data de término era afetada. Não tive a chance de reproduzi-lo adequadamente, pois é muito demorado.

Enviei um pequeno PR que o corrigiu em certa medida. Estamos usando isso como um plugin auxiliar por enquanto.

A solução alternativa atual também é:

  1. Editar a postagem e remover o BB code do evento, salvar a postagem
  2. Editar a postagem, readicionar o BB code do evento com a data desejada e salvar a postagem

Isso reescreve as datas do evento do zero no tópico.

Olá,

Abri o FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub para isso.

Em seguida, fiz uma gravação de tela do teste manual contra o commit principal do PR:

O PR é baseado no main.

O cronômetro vermelho na gravação conta regressivamente até os limites dos eventos relevantes, enquanto o relógio verde mostra a hora atual, para que a gravação seja autossuficiente.

Incluí meus tempos exatos de teste e o BBCode abaixo como notas suplementares.

Primeiro teste — apenas edição do fim

Tempos pretendidos:

início início editado fim fim editado
16:22 sem edição 16:25 16:28

O BBCode inicialmente era:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:25"]
esta é uma descrição de evento
[/event]

Eu explicitamente o alterei para:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:28"]
esta é uma descrição de evento
[/event]
Segundo teste — apenas edição do início

Tempos pretendidos:

início início editado fim fim editado
16:31 16:32 16:35 sem edição

Cometi um erro de configuração nesta execução: o BBCode inicial era, na verdade:

[event start="2026-09-04 17:00" end="2026-09-04 18:00" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

Em seguida, eu explicitamente o alterei para:

[event start="2026-09-04 16:32" status=public timezone=Europe/London end="2026-09-04 16:35" reminders=notification.15.minutes]
[/event]

Portanto, esta execução específica não deve ser tratada como uma comparação limpa de apenas início de 16:3116:32.

Terceiro teste — edição do início e do fim

Tempos pretendidos:

início início editado fim fim editado
16:38 16:39 16:42 16:45

O BBCode inicialmente era:

[event start="2026-09-04 16:38" status=public timezone=Europe/London end="2026-09-04 16:42" reminders=notification.15.minutes]
[/event]

Eu explicitamente o alterei para:

[event start="2026-09-04 16:39" status=public timezone=Europe/London end="2026-09-04 16:45" reminders=notification.15.minutes]
[/event]
Quarto teste — apenas edição do fim

Tempos pretendidos:

início início editado fim fim editado
16:47 sem edição 16:50 16:53

O BBCode inicialmente era:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:50"]
[/event]

Eu explicitamente o alterei para:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:53"]
[/event]
Quinto teste — apenas edição do início

Tempos pretendidos:

início início editado fim fim editado
16:56 16:57 17:00 sem edição

O BBCode final era:

[event start="2026-09-04 16:57" status=public timezone=Europe/London end="2026-09-04 17:00" reminders=notification.15.minutes]
[/event]

Uma verificação no banco de dados posterior confirma que esta publicação foi editada uma vez pelo seu autor dentro do período de carência de edição de 300 segundos do Discourse (self_edits = 1). Como a edição foi dentro desse período de carência, a publicação permaneceu na versão 1 e nenhuma revisão/lápis visível foi criada.

O valor bruto original, portanto, não está mais disponível em post_revisions, mas o teste não foi uma publicação não editada.

Sexto teste — edição do início e do fim

Tempos pretendidos:

início início editado fim fim editado
17:03 17:04 17:07 17:10

O BBCode final era:

[event start="2026-09-04 17:04" end="2026-09-04 17:10" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

Uma verificação no banco de dados posterior confirma que esta publicação foi editada uma vez pelo seu autor dentro do período de carência de edição de 300 segundos do Discourse (self_edits = 1). Como a edição foi dentro desse período de carência, a publicação permaneceu na versão 1 e nenhuma revisão/lápis visível foi criada.

O valor bruto original, portanto, não está mais disponível em post_revisions, mas o teste não foi uma publicação não editada.