Timestamp da linha do tempo não atualizando

Não pude deixar de notar:

Após uma atualização, ele é atualizado. Mas seria mais lógico se correspondesse ao carimbo de data/hora da postagem, que é atualizado sem a necessidade de atualização.

2 curtidas

Interessante, pode estar relacionado ao nosso movimento de brilho @isaac

3 curtidas

Ao investigar a implementação antiga, estou me perguntando se isso também foi um problema antes…

      const bottomAge = relativeAge(
        new Date(topic.last_posted_at || topic.created_at),
        {
          addAgo: true,
          defaultFormat: timelineDate,
        }
      );
      const scroller = [
        h(
          "div.timeline-date-wrapper",
          this.attach("link", {
            className: "now-date",
            rawLabel: bottomAge,
            action: "jumpBottom",
          })
        ),
      ];

Isso foi chamado na função html() do widget, para a qual não parece que temos ganchos para atualizar isso conforme o tempo passa.

Obviamente, a funcionalidade desejada é atualizar o bottomAge com a data mais recente na criação da postagem e, em seguida, continuar a atualizá-lo automaticamente conforme o tempo passa. O que podemos fazer no momento é adicionar uma função para

e atualizar bottomAge ao rolar, mas na prática parece um pouco estranho. Outro problema com essa ideia é que é difícil corresponder ao tempo de atualização da data na postagem mais recente com a atualização da data bottomAge na linha do tempo do tópico. O created_at relativo de uma postagem fica para trás em cerca de 10 segundos… criando uma incompatibilidade entre


quando você está rolando.

Idealmente, rastrearíamos a data relativa created_at da postagem e a inseriríamos na linha do tempo, mas não sei se isso é possível no momento.

@david, você tem alguma ideia?

2 curtidas

Sim, isso seria o ideal :+1:

Se usarmos a estrutura HTML correta, a atualização automática ao longo do tempo pode ser tratada automaticamente pelo nosso helper de data relativa.

Para lidar com alterações no valor de topic.last_posted_at, devemos ser capazes de contar com a reatividade do Glimmer, em vez de fazer coisas ao rolar. por exemplo

get bottomAge() {
  return this.args.topic.get("last_posted_at") || this.args.topic.get("created_at");
}

E então no hbs podemos usar nosso helper de idade relativa para renderizá-lo na estrutura correta para a atualização automática

{{age-with-tooltip this.bottomAge}}

Pode ser necessário fazer algumas melhorias no helper para que ele possa suportar os parâmetros ‘addAgo’ e ‘defaultFormat’?

1 curtida

Isso será corrigido via

5 curtidas