Commit Graph

250 Commits

Author SHA1 Message Date
Brion Vibber
d410df0406 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
2010-02-23 00:44:45 +00:00
Brion Vibber
06f155c02d 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
2010-02-22 12:13:57 -08:00
Sarven Capadisli
c88507fe11 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-22 17:08:54 +01:00
Sarven Capadisli
3569493ba7 Added link to Subscriptions page to XHR get the ostatus sub form 2010-02-22 17:07:48 +01:00
James Walker
7b2ea7aa22 Merge remote branch 'statusnet/testing' into testing 2010-02-22 01:40:03 -05:00
James Walker
effa4f5d1e adding extlib for Crypt_RSA 2010-02-22 01:39:00 -05:00
Evan Prodromou
a9599d53c5 some info code for usersalmon.php 2010-02-21 23:39:52 -05:00
Brion Vibber
bd3051b85c Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-02-21 19:55:53 -08:00
Brion Vibber
5207783765 OStatus: record source profile & saving method in ostatus_source table; this allows us to distinguish posts that have come through an unverified group feed 2010-02-21 19:52:53 -08:00
Evan Prodromou
cc18f757a8 hook in OStatusPlugin to return Ostatus_profile URIs where applicable 2010-02-21 22:52:52 -05:00
Evan Prodromou
de522d7978 Wasn't putting in namespaces for reply salmons 2010-02-21 22:38:18 -05:00
Evan Prodromou
a0b64663be Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-21 22:35:04 -05:00
Evan Prodromou
bd21f48cee Notice::getReplies() returns array of profile IDs 2010-02-21 22:34:40 -05:00
Brion Vibber
ad10e6e8da OStatus: drop the remnants of feedsubsettings, replaced by ostatussub and no longer linked in UI 2010-02-21 19:01:32 -08:00
Evan Prodromou
bd74f05a66 Do mention lookup for Webfinger accounts in OStatusPlugin 2010-02-21 21:38:16 -05:00
Brion Vibber
5349aa420e 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.
2010-02-21 13:40:59 -08:00
Brion Vibber
85528ccb1f Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-21 11:12:56 -08:00
Evan Prodromou
de093537f6 correct actor for OStatusPlugin::onEndUnsubscribe() 2010-02-21 13:32:24 -05:00
Evan Prodromou
5aeed9e041 add activity:subject to atom feeds 2010-02-21 13:11:00 -05:00
Evan Prodromou
df7c6b37c8 use notifyActivity() for notifications in OStatusPlugin 2010-02-21 10:53:32 -05:00
Evan Prodromou
0c62c68675 do some double-checks on favor and disfavor handlers in OStatusPlugin 2010-02-20 20:34:29 -05:00
Evan Prodromou
5565216b42 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
Conflicts:
	plugins/OStatus/OStatusPlugin.php
2010-02-20 20:27:04 -05:00
Evan Prodromou
96c6019638 Add support for favor and disfavor notification
Added support for favoring and disfavoring in OStatusPlugin.

Needed to represent the Notice as an activity:object, so added
some code for that in lib/activity.php.

Also, made some small changes to OStatusPlugin so it handled
having a non-default argument $object correctly.
2010-02-20 19:58:20 -05:00
Brion Vibber
9c2fe8492f OStatus: send favorite/unfavorite notifications to remote authors 2010-02-20 15:56:36 -08:00
Brion Vibber
f891b135fb OStatus: fix regressions in plugin & usersalmon action. Sub/unsub notifications are working again. 2010-02-20 10:26:32 -08:00
Evan Prodromou
866b647062 add hooks for OStatus notification on subscribe/unsubscribe 2010-02-20 11:48:42 -05:00
Evan Prodromou
2df3bbc80b Move some salmon processing to a superclass
Moved some salmon processing to a superclass so we could handle group
salmon posts, too.
2010-02-20 11:12:43 -05:00
Brion Vibber
557df3d3f7 OStatus: sub/unsub notifications working again. Fixed up autodetection of feed info at profile setup time 2010-02-19 16:21:17 -08:00
Brion Vibber
a1a3ab1c58 OStatus: hooked up follow/unfollow events on Salmon endpoint to create/destroy remote subscriber relationships 2010-02-19 12:08:07 -08:00
Brion Vibber
0dac13d197 OStatus refactoring to clean up profile vs feed and fix up subscription issues.
PuSH subscription maintenance broken back out to FeedSub, letting Ostatus_profile deal with the profile level (user or group, with unique id URI)
2010-02-18 16:50:53 -08:00
Brion Vibber
22ff358ba8 OStatus sub/unsub updates:
- fix for PuSH unsub verification
- send Salmon notification on unsub
2010-02-18 18:20:48 +00:00
Brion Vibber
5a6cbb248f Merge branch 'testing' into 0.9.x 2010-02-17 10:14:08 -08:00
Craig Andrews
46e9aa13aa htmloutputter->script() special cases src's that begin with plugin/ or local/ so that plugins don't need to include common_path() in every call to $action->script()
Adjust plugins to not call common_path() when it's not necessary
Fix minify plugin
2010-02-17 12:03:14 -05:00
Brion Vibber
e51e96d724 OStatus: override source link with the source domain and link to original message 2010-02-17 02:16:03 +00:00
Evan Prodromou
813451c9f9 add a couple of FIXME comments 2010-02-16 10:18:23 -05:00
Sarven Capadisli
171bf3093a Dialogbox for OStatus remote subscription 2010-02-13 20:28:05 +01:00
Sarven Capadisli
1cb94e0be6 Added dialogbox styles for OStatus subscribe form 2010-02-13 19:07:21 +01:00
Sarven Capadisli
f6e766d5ac Using the new remote subscription event and updated subscribe label 2010-02-13 18:42:00 +01:00
Zach Copley
f3a82e787c Add OStatus PuSH hub and Salmon links back into user and group feeds 2010-02-12 19:02:27 -08:00
Brion Vibber
8e6b52e899 OStatus: renamed feedinfo table to ostatus_profile -- will cover remote ostatus people and groups whether a subscription's active or not (maintains identity over unsub/resub, and between subscribers and subscribees) 2010-02-12 00:22:16 +00:00
Brion Vibber
21bfbc43ad OStatus: fix salmon link on Atom feeds; add a url spec for group feeds as well (endpoint needs impl) 2010-02-11 20:02:17 +00:00
Brion Vibber
71151b2583 OStatus: garbage collect unused PuSH subscriptions when the last local subscriber unsubs 2010-02-11 00:09:20 +00:00
Brion Vibber
4ae760cb62 OStatus PuSH fixes:
* HMAC now calculated correctly - confirmed interop with Google's public hub
* Can optionally use an external PuSH hub, set URL in $config['ostatus']['hub']
  (may have issues in replication environment, and will ping the hub for every
  update rather than just those with subscribers) Internal hub will still function
  when this is set, but won't be advertised. Warning: setting this, then turning
  it off later will break subscriptions as that hub will no longer receive pings.
2010-02-10 22:58:39 +00:00
James Walker
f4ebac5036 removing the webfinger hack for Notice::asAtomEntry since salmon can use a profile URL 2010-02-09 21:50:51 -05:00
James Walker
46f90f7b08 moving salmon endpoint under 'main/' 2010-02-09 21:43:37 -05:00
Brion Vibber
8449256817 OStatus partial support for group subscriptions:
* detection of group feeds is currently a nasty hack based on presence of '/groups/' in URL -- should use some property on the feed?
* listing for the remote group is kinda cruddy; needs to be named more cleanly
* still need to establish per-author profiles (easier once we have the updated Atom code in)
* group delivery probably not right yet
* saving of group messages still triggering some weird behavior

Added support for since_id and max_id on group timeline feeds as a free extra. Enjoy!
2010-02-09 18:32:52 -08:00
James Walker
c2475f8853 in progress Salmon responses 2010-02-09 15:37:37 -05:00
James Walker
841981a381 discovery piece - hand merged :P 2010-02-09 01:37:45 -05:00
Brion Vibber
384387c9b0 OStatus cleanup...
* Treat linkless feed posts as status updates; drop the "New post:" prefix and quotes on them.
* Use stable user IDs for atom/rss2 feed links instead of unstable nicknames
* Pull Atom feed preferentially when subscribing -- can now put the remote user's profile page straight into the feed subscription form and get to the right place.
* Clean up naming for push endpoints
2010-02-08 14:58:12 -08:00
Brion Vibber
dc09453a77 First steps on converting FeedSub into the pub/sub basis for OStatus communications:
* renamed FeedSub plugin to OStatus
* now setting avatar on subscriptions
* general fixes for subscription
* integrated PuSH hub to handle only user timelines on canonical ID url; sends updates directly
* set $config['feedsub']['nohub'] = true to test w/ foreign feeds that don't have hubs (won't actually receive updates though)
* a few bits of code documentation
* HMAC support for verified distributions (safest if sub setup is on HTTPS)

And a couple core changes:
* minimizing HTML output for exceptions in API requests to aid in debugging
* fix for rel=self link in apitimelineuser when id given

This does not not yet include any of the individual subscription management (Salmon notifications for sub/unsub, etc) nor a nice UI for user subscriptions.
Needs some further cleanup to treat posts as status updates instead of link references.
2010-02-08 11:15:29 -08:00