Fix filtering the modification log from invisible participants
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 26 Sep 2023 07:45:05 +0000 (09:45 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 26 Sep 2023 09:38:31 +0000 (11:38 +0200)
commit40edd0891d0003c5441dfd2c067eeb5632fbc2ed
tree36c744a4ad8d6ec131ee282bc904ab07633a0a97
parentae9252cf4c0f674fd349bfe28da22aa6160a70de
Fix filtering the modification log from invisible participants

There is a previous commit relating to this issue in
28484add293eac5d0299d991ffaaa9f478c418e1, but it either never worked or no
longer works. Possibly this got broken when the conversations were refactored
to allow for removal of participants, while still allowing them to see the
contents up to their removal.

The ConversationParticipantList implicitly filters out invisible participants
internally, thus they don't will never be added to the invisibleParticipantIDs.

Fix this issue by inverting the logic: Instead of filtering out all invisible
participants, the query will now only include visible participants that are
guaranteed to be visible.

This fix will affect existing conversations.

see https://www.woltlab.com/community/thread/301779-konversation-mit-bcc-leakt-teilnehmer/
files/lib/page/ConversationPage.class.php