]> git.mxchange.org Git - quix0rs-gnu-social.git/commit
Ticket #2731: Fix for regression in posting to remote groups (regression in 2d4e0693c...
authorBrion Vibber <brion@pobox.com>
Thu, 16 Sep 2010 21:43:27 +0000 (14:43 -0700)
committerBrion Vibber <brion@pobox.com>
Thu, 16 Sep 2010 21:43:27 +0000 (14:43 -0700)
commit097d0bd2faad9e067367e88e4ad166b14b0f98b6
treee62e43da9b29d20fd5ac4ba8d69240011e66ce05
parentb98abc3ae77965c6935bfb87eef61a3cc436e82f
Ticket #2731: Fix for regression in posting to remote groups (regression in 2d4e0693c88bb8cad47f917db3ac5ecfacf28619)

Changes in 2d4e0693c88bb8cad47f917db3ac5ecfacf28619 changed Ostatus_profile::filterReplies() (which sorts out the local, remote, and group recipients on incoming remote messages) from checking for remote profiles with a safe call to Ostatus_profile::staticGet() to calls through Ostatus_profile::ensureProfileURL() and Ostatus_profile::ensureWebfinger(), which throw exceptions and thus abort processing.
Since this was done before checking for local groups, the filter would fail when the ensure* functions determined it was looking at a local group and rightfully refused to create a remote group profile for it.

Changing the calls to the ensure* functions was done so we can record remote reply recipients for future reply-to-reply processing (the staticGet() call was a cheaper way to do a lookup when we knew we only actually had to process groups that somebody signed up to); most important fix is simply to actually check for the exception! :)

Here I'm changing the order of processing so we do the local group lookup first -- where it's nice and safe -- and then when we do the remote checks, we'll go ahead and gracefully skip that entry if the full remote lookup fails, so we'll still process any following recipients.
plugins/OStatus/classes/Ostatus_profile.php