Brion Vibber [Tue, 23 Feb 2010 20:44:27 +0000 (20:44 +0000)]
OStatus: do PuSH subscription setup from subscribe/join event hooks, so resubscribing directly from a profile/group list works correctly if there aren't active subscriptions at the moment.
Evan Prodromou [Tue, 23 Feb 2010 13:38:23 +0000 (08:38 -0500)]
Drop user-only requirement for subscribe action
I removed the check for local users in the subscribe button. I replaced
it with a more specific check for OMB 0.1 remote profiles, which you
can't use with this action.
I also took the opportunity to split the handle() method into
prepare() and handle(), and added PHPCS clean documentation.
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.