Ticket #2731: Fix for regression in posting to remote groups (regression in 2d4e0693c88bb8cad47f917db3ac5ecfacf28619)
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.

UngPirat/freesocial,csarven/statusnet,zcopley/StatusNet,eXcomm/gnu-social,bankonme/gnu-social,shashi/StatusNet,studio666/gnu-social,minmb/statusnet,xebia/statusnet-oauth2,gnusocial/mainline,csarven/statusnet,chimo/social,charlycoste/StatusNet,d3vgru/StatusNet,sikevux/bsk-social,zcopley/zcopleys-statusnet-clone,zh/statusnet,zh/statusnet,charnimda/lgbtpzn-social,eXcomm/gnu-social,zh/statusnet,eXcomm/gnu-social,foocorp/gnu-social,faulteh/gnu-social,faulteh/gnu-social,csarven/statusnet,sikevux/bsk-social,UngPirat/freesocial,eXcomm/gnu-social,Piratas/tortuga,shashi/StatusNet,minmb/statusnet,znarf/statusnet-ladistribution,bankonme/gnu-social,Piratas/tortuga,Piratas/tortuga,znarf/statusnet-ladistribution,bankonme/gnu-social,chimo/social,sikevux/bsk-social,brion/StatusNet,zcopley/StatusNet,charlycoste/StatusNet,sikevux/bsk-social,xebia/statusnet-oauth2,brion/StatusNet,shashi/StatusNet,charnimda/lgbtpzn-social,furtherfield/gnu-social,gnusocial/mainline,furtherfield/gnu-social,csarven/statusnet,charlycoste/StatusNet,studio666/gnu-social,charnimda/lgbtpzn-social,zcopley/StatusNet,minmb/statusnet,d3vgru/StatusNet,faulteh/gnu-social,studio666/gnu-social,faulteh/gnu-social,UngPirat/freesocial,brion/StatusNet,chimo/social,furtherfield/gnu-social,xebia/statusnet-oauth2,foocorp/gnu-social,furtherfield/gnu-social,bankonme/gnu-social,d3vgru/StatusNet,Piratas/tortuga,zcopley/zcopleys-statusnet-clone,foocorp/gnu-social,gnusocial/mainline,studio666/gnu-social,zcopley/zcopleys-statusnet-clone,znarf/statusnet-ladistribution,gnusocial/mainline