gnu-social/plugins/OStatus
Diogo Peralta Cordeiro 6028175bfc [Media] Fix issues with database file storage
Fixed file quota as well.

There can be more than one file for the same filehash IF the url are different.

Possible states:
  - A file with no url and with filename is a local file.
  - A file with an url but no filename is a remote file that wasn't fetched,
    not even the thumbnail.
  - A file with an url and filename is a fetched remote file (maybe just a
    thumbnail of it).
  - A file with no filename nor url is a redirect.

Routes:
  Given these states, updated routes so that an attachment can only be
  retrieved by id and a file by filehash.

Major API changes:
  File::getByHash now returns a yield of files

Major UI changes:
  - Now remote non stored files are presented.
  - /view became preferred
  - Redirects to remote originals are preferred.

Many other minor bug fixes...
2021-02-21 16:03:46 +00:00
..
actions Set HTTP status codes with http_​response_​code() 2020-08-04 14:12:17 +03:00
classes [Media] Fix issues with database file storage 2021-02-21 16:03:46 +00:00
lib [TheFreeNetwork] Do not allow lower priority protocols to handle remote actors already handled by the higher ones 2020-08-27 01:32:15 +01:00
locale [VersionBump] 2.0.0alpha0 2020-08-04 05:31:44 +01:00
scripts [DATABASE] Update "modified" in Managed_DataObject instead of a DBMS trigger 2020-07-27 19:10:33 +03:00
tests [CORE] Use monotonic time via hrtime() where applicable 2020-01-07 19:48:13 +03:00
EVENTS.txt Moved Diaspora specific metadata to own plugin 2015-06-06 13:49:27 +02:00
OStatusPlugin.php [TheFreeNetwork][fix_duplicates.php] Don't die because you couldn't federate an undo follow 2020-08-04 13:03:33 +01:00
README [OStatus] Port remote-follow to the RemoteFollow plugin 2019-09-03 03:26:35 +01: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 WebSub (previously named PubSubHubbub or PuSH) for push feed updates;
currently non-WebSub feeds cannot be subscribed unless an external
WebSub hub proxy is used.


Additional functionality:

The RemoteFollow plugin is highly recommended as it is the only way to remote
follow a user in OStatus, it adds a remote follow button to user profiles.

Configuration options available:

$config['ostatus']['hub']
    (default internal hub)
    Set to URL of an external WebSub 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 WebSub 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 WebSub 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