feat(chat): stop repeating the same minute on every line

The comparison value comes from the message data, not from a variable carried
between rows. In 1.5.6 the loop walked every message and skipped invisible ones
with a dummy, so what it remembered was the last *visible* stamp. The virtualised
list only iterates the visible window, so the row above that window was never
drawn at all -- a carried variable would hold whatever was on screen before the
last scroll, and the first stamp after every jump would be wrong.

No predecessor means draw. Scrolling into the middle of a log would otherwise
swallow the only stamp on screen.

Both draw paths now pass an index; the linear one was a foreach and had none.

The setting is on by default and existed with translations in twenty-three
languages -- Catalan and Italian had kept the English string, so those two are
done now. It needs no fingerprint entry: the column stays reserved when the stamp
is suppressed, so hiding one changes no row's height.
This commit is contained in:
2026-08-19 12:07:39 +02:00
parent b63e1eda9b
commit 80ec7450c8
5 changed files with 54 additions and 19 deletions
+2 -2
View File
@@ -527,10 +527,10 @@
<value>Finestra emergent</value>
</data>
<data name="Options_HideSameTimestamps_Name">
<value>Hide timestamps when redundant</value>
<value>Amaga les marques de temps redundants</value>
</data>
<data name="Options_HideSameTimestamps_Description">
<value>Hide timestamps when previous messages have the same timestamp.</value>
<value>Amaga la marca de temps quan el missatge anterior ja en té la mateixa.</value>
</data>
<data name="Options_ShowPopOutTitleBar_Name">
<value>Show title bar for popped-out tabs</value>