Il timestamp della timeline non si aggiorna

Non ho potuto fare a meno di notare:

Dopo un aggiornamento è stato corretto. Ma sarebbe più logico se corrispondesse al timestamp del post, che viene aggiornato senza refresh.

2 Mi Piace

Interessante, potrebbe essere correlato alla nostra mossa di scintillio @isaac

3 Mi Piace

Scavando nell’implementazione precedente, mi chiedo se questo fosse un problema anche in passato…

      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",
          })
        ),
      ];

Questo veniva chiamato nella funzione html() del widget, per la quale non sembra che abbiamo ganci per aggiornarla mentre il tempo passa.

Ovviamente la funzionalità desiderata è aggiornare bottomAge con la data più recente alla creazione del post, e poi continuare ad aggiornarla automaticamente con il passare del tempo. Quello che possiamo fare al momento è aggiungere una funzione a

e aggiornare bottomAge allo scroll, ma in pratica sembra un po’ strano. Un altro problema con questa idea è che è difficile far coincidere il momento dell’aggiornamento della data dell’ultimo post con l’aggiornamento della data bottomAge nella timeline del topic. Il created_at relativo di un post è in ritardo di circa 10 secondi… creando una discrepanza tra

quando si scorre.

Idealmente tracciamo la data relativa created_at del post e la inseriamo nella timeline, ma non so se al momento sia possibile.

@david, hai qualche idea?

2 Mi Piace

Sì, sarebbe l’ideale :+1:

Se utilizziamo la struttura HTML corretta, l’aggiornamento automatico nel tempo può essere gestito automaticamente dal nostro helper per le date relative.

Per gestire le modifiche al valore di topic.last_posted_at, dovremmo essere in grado di fare affidamento sulla reattività di Glimmer, piuttosto che fare cose allo scroll. Ad esempio:

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

E poi nell’hbs possiamo usare il nostro helper per le date relative per renderizzarlo nella struttura corretta per l’aggiornamento automatico

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

Potrebbe essere necessario apportare alcuni miglioramenti all’helper in modo che possa supportare i parametri ‘addAgo’ e ‘defaultFormat’?

1 Mi Piace

Questo verrà corretto tramite

5 Mi Piace