forked from GNUsocial/gnu-social
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.
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