mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
1a976dd0a8
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.