Brion Vibber [Tue, 23 Feb 2010 00:44:45 +0000 (00:44 +0000)]
OStatus group delivery initial implementation.
- added rel="ostatus:attention" links for group delivery
- added events for plugins to override group profile/permalink pages
- pulled Notice::saveGroups up to save-time so we can override;
it's relatively cheap and gives us a clean list of target
groups for distrib time even with customized delivery.
- fixed notice::getGroups to return group objects as expected
- added some doc on new parameters to Notice::saveNew
- 'groups' list of group IDs to push to in place of parsing
- messages that come in via PuSH and contain local group targets
are delivered to local group members
- messages that come in via PuSH and contain remote group targets
are delivered to local members of the remote group
Todo:
- handle group posts that only come through Salmon
- handle conflicts in case something comes in both through Salmon and PuSH
- better source verification
- need a cleaner interface to look up groups by URI
- need a way to handle remote groups with conflicting names
Sarven Capadisli [Mon, 22 Feb 2010 21:23:37 +0000 (22:23 +0100)]
Removed unnecessary assignment to SN.C.I.OStatusProfile. It can be
brought back in the future if the value is to be set directly from the
HTML script output.
Brion Vibber [Mon, 22 Feb 2010 17:43:27 +0000 (09:43 -0800)]
OStatus: initial hookup of remote group membership (notice delivery not yet working quite right)
- added a temp config var to disable salmon magic signatures until they're working consistently
Brion Vibber [Mon, 22 Feb 2010 03:51:11 +0000 (19:51 -0800)]
OStatus: record source profile & saving method in ostatus_source table; this allows us to distinguish posts that have come through an unverified group feed
Brion Vibber [Sun, 21 Feb 2010 22:46:26 +0000 (14:46 -0800)]
OStatus PuSH fixes:
- hub now defers subscription state updates until after verification, per spec
- hub now supports synchronous verification when requested (if async is not requested after)
- client now requests synchronous verification (it's a bit safer)
- cleanup on subscription logging/error responses
Brion Vibber [Sun, 21 Feb 2010 23:21:18 +0000 (15:21 -0800)]
Performance fix for FriendFeed sup interface: MySQL query optimizer was doing a table scan on notice; explicit subquery makes it run much more efficiently, only scanning items within the period under consideration. Standard subquery should be PostgreSQL-compatible.
Brion Vibber [Sun, 21 Feb 2010 22:28:06 +0000 (14:28 -0800)]
OStatus PuSH fixlets:
- set minimal error page output on PuSH callback
- allow hub to retry ($config['ostatus']['hub_retries']), simplify internal iface a bit. Retries are pushed to end of queue but otherwise not delayed yet; makes delivery more robust to one-off transitory errors but not yet against downtime.
Brion Vibber [Sun, 21 Feb 2010 21:40:59 +0000 (13:40 -0800)]
OStatus feedsub fixlets:
- actually udpate feedsub.last_update when we get a new PuSH update in
- move incoming PuSH processing to a queue handler to minimize time spent before POST return, as recommended by PuSH spec. When queues are disabled this'll still be handled immediately.
Brion Vibber [Sat, 20 Feb 2010 20:46:48 +0000 (12:46 -0800)]
OStatus subscription page fixups; works but needs lots of UI loving!
- ostatussub via subscribe button now works again (changed to take profile instead of feed, patched up to the new discovery)
- added a quickie hack to allow putting your remote profile URI in place of webfinger acct through the remote-sub button (needs to be patched up to do proper discovery via XRDS or a link or something)
Evan Prodromou [Sat, 20 Feb 2010 18:31:20 +0000 (13:31 -0500)]
Change to use TagURI::base() instead of common_config()
I changed the way that tag: URIs are minted, so we now use the right
base. Ideally most of these would use HTTP URIs instead, but for
now at least they use the right base.