Files
Kabiru Mwenja 1a976dd0a8 Stream only changed journal reactions on poll
Each activities tab poll re-rendered and shipped a reaction fragment for
every journal on the work package, because reactions carry no signal a
timestamp filter could use and the "refresh all" approach was the only way
to catch removals. Reactions now stamp a dedicated reactions_changed_at on
their journal (writing the column directly, so the journal's updated_at and
its "edited" indicator are untouched), letting the poll re-render reactions
only for journals whose reactions changed since the client last polled.
Removals are covered too: the stamp happens as the reaction is destroyed.

On a work package with 201 journals and 3 reactions changed since the poll,
the response carries 3 reaction fragments instead of 201.
2026-06-09 16:32:20 +03:00
..