gnu-social/plugins/OStatus
Brion Vibber 89c561c9cf Ticket #2731: Fix for regression in posting to remote groups (regression in 2d4e0693c8)
Changes in 2d4e0693c8 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.
2010-09-16 14:50:23 -07:00
..
actions * i18n/L10n updates and FIXMEs added 2010-09-03 01:35:04 +02:00
classes Ticket #2731: Fix for regression in posting to remote groups (regression in 2d4e0693c8) 2010-09-16 14:50:23 -07:00
extlib Updated Math_Biginteger from upstream - removing safe* workarounds 2010-03-24 15:18:41 -04:00
images First steps on converting FeedSub into the pub/sub basis for OStatus communications: 2010-02-08 11:15:29 -08:00
js Moved StatusNetInstance into SN in util.js 2010-02-24 16:35:20 +01:00
lib syntax error in exception string in discovery.php 2010-09-03 01:41:01 -04:00
locale Pull localization updates from 0.9.x branch 2010-05-03 12:27:44 -07:00
scripts * i18n/L10n updates and FIXMEs added 2010-09-03 01:35:04 +02:00
tests * i18n/L10n updates and FIXMEs added 2010-09-03 01:35:04 +02:00
theme/base/css Slight right alignment for remote button in minilists 2010-03-04 13:43:28 -05:00
OStatusPlugin.php * i18n/L10n updates and FIXMEs added 2010-09-03 01:35:04 +02:00
README Initial support for third-party fallback hub such as Superfeedr for feed subscriptions. 2010-08-10 12:57:40 -07:00

Plugin to support importing and exporting notices through Atom and RSS feeds.
The OStatus plugin concentrates on user-to-user cases for federating StatusNet
and similar social networking / microblogging / blogging sites, but includes
low-level feed subscription systems which are used by some other plugins.

Uses PubSubHubbub for push feed updates; currently non-PuSH feeds cannot be
subscribed unless an external PuSH hub proxy is used.


Configuration options available:

$config['ostatus']['hub']
    (default internal hub)
    Set to URL of an external PuSH hub to use it instead of our internal hub
    for sending outgoing updates in user and group feeds.

$config['ostatus']['hub_retries']
    (default 0)
    Number of times to retry a PuSH send to consumers if using internal hub


Settings controlling incoming feed subscription:

$config['feedsub']['fallback_hub']
    To subscribe to feeds that don't have a hub, an external PuSH proxy hub
    such as Superfeedr may be used. Any feed without a hub of its own will
    be subscribed through the specified hub URL instead. If the external hub
    has usage charges, be aware that there is no restriction placed to how
    many feeds may be subscribed!

    $config['feedsub']['fallback_hub'] = 'https://superfeedr.com/hubbub';

$config['feedsub']['hub_user']
$config['feedsub']['hub_password']
    If using the fallback hub mode, these settings may be used to provide
    HTTP authentication credentials for contacting the hub. Default hubs
    specified from feeds are assumed to not require


For testing, shouldn't be used in production:

$config['ostatus']['skip_signatures']
    (default use signatures)
    Disable generation and validation of Salmon magicenv signatures

$config['feedsub']['nohub']
    (default require hub)
    Allow low-level feed subscription setup for feeds without hubs.
    Not actually usable at this stage, OStatus will check for hubs too
    and we have no polling backend. (The fallback hub option can be used
    with a 3rd-party service to provide such polling.)


Todo:
* better support for feeds that aren't natively oriented at social networking
* make use of tags/categories from feeds
* better repeat handling