]> 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:50:23 +0000 (14:50 -0700)
commit89c561c9cf381a1068e4d78dd9ff1f42f709c4ce
tree3c3f0b95f2cda1c7b79453e642df47dfd6d16453
parentead2f3375ad8f623b6b15aa4c7194224575b3c41
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