Commit Graph

178 Commits

Author SHA1 Message Date
Evan Prodromou
0a4911552e Move user xrd action to core and use hooks to extend
Moved the Webfinger user XRD action from the OStatus plugin to core.
Added hooks to add OStatus-specific stuff, but kept general stuff in
the core.
2010-11-26 21:38:38 -05:00
Craig Andrews
3f3b38766f move xrd and hostmeta out of the OStatus plugin and into core
add event for setting up hostmeta, and use them in the OStatus plugin
2010-11-26 21:12:14 -05:00
Brion Vibber
aa02f6020e Merge branch '0.9.x' into 1.0.x 2010-10-08 11:47:50 -07:00
Brion Vibber
69b13cb279 Normalize execution guards on OStatus php files; mostly helps cut down on annoying 'class not found' errors when something spiders the dirs. :P 2010-10-08 10:42:59 -07:00
Brion Vibber
6c959c83ce Merge branch '0.9.x' into 1.0.x 2010-10-07 13:32:26 -07:00
Brion Vibber
a9654beb5d Fix regression in OStatus remote group delivery: local group check was bogus in updated Ostatus_profile::localGroupFromUrl() 2010-10-07 10:56:10 -07:00
Brion Vibber
8ff45823ba Merge branch '0.9.x' into 1.0.x 2010-10-05 11:40:49 -07:00
Brion Vibber
d6b3d7fb1a Fix unescaped dollar signs in double-quoted strings due to localization updates (%1$s etc) 2010-10-04 14:24:04 -07:00
Brion Vibber
59119482ca Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts:
	actions/hostmeta.php
	actions/imsettings.php
	classes/User.php
	lib/adminpanelaction.php
	lib/channel.php
	lib/default.php
	lib/router.php
	lib/util.php
2010-10-04 12:54:36 -07:00
Brion Vibber
617b6f4f7d User user_group.uri to look up local groups for OStatus addressing checks when available. Will still fall back to the URL-scheme-checking code if there's no matching user_group record.
Should help with keeping remote groups working when renaming sites -- as long as user_group.uri has been filled out on the site changing its domain and other issues with POST handling are resolved.
2010-09-27 11:29:54 -07:00
Evan Prodromou
b5cfcba471 Merge branch '0.9.x' into activityexport
Conflicts:
	plugins/OStatus/OStatusPlugin.php
2010-09-22 10:45:34 -04:00
Siebrand Mazeland
5a6f616206 * i18n/L10n update
* translator comments added
* remove superfluous whitespace
2010-09-19 15:17:36 +02:00
Evan Prodromou
a881ce23e7 note on why we don't use Group_member::asActivity() in OStatusPlugin 2010-09-14 11:02:54 -04:00
Evan Prodromou
d9b959fc64 move code for making activities from OStatus plugin to Subscription and Fave classes 2010-09-13 11:44:20 -04:00
Craig Andrews
8d54809c35 move xrd and hostmeta out of the OStatus plugin and into core
add event for setting up hostmeta, and use them in the OStatus plugin
2010-09-07 13:45:52 -04:00
Siebrand Mazeland
1bfbe9badf * i18n/L10n updates and FIXMEs added
* whitespace fixes
2010-09-03 01:35:04 +02:00
Evan Prodromou
82b1d6daef Merge branch 'swat0' into 0.9.x 2010-09-02 16:58:55 -04:00
Evan Prodromou
3baff9aa98 Handle profile-from-uri hook to return ostatus profile if there's a match 2010-09-01 16:16:38 -04:00
Evan Prodromou
8ebb858964 remove noop function from OStatusPlugin 2010-09-01 14:21:24 -04:00
Brion Vibber
9a53be4669 Initial support for third-party fallback hub such as Superfeedr for feed subscriptions.
If set up, this hub will be used to subscribe to feeds that don't specify a hub of their own.
Assumes that the fallback hub will, in fact, handle polling and updates for any feed we throw at it!
Authentication may be specified for the fallback hub.

Example:

  $config['feedsub']['fallback_hub'] = 'https://superfeedr.com/hubbub';
  $config['feedsub']['hub_user'] = 'abcd';
  $config['feedsub']['hub_pass'] = 'ckcmdkmckdmkcdk';

Also:
* Fix for WordPress-RSS-via-Superfeedr-Atom; if we have <author> info but no ID from a native ActivityStreams actor, don't freak out in the low-level processing code that checks for identity matches.
* enhanced messages for low-level FeedSub exceptions if they make it to outside display
2010-08-10 12:57:40 -07:00
Brion Vibber
7e55fc0044 OStatus/FeedSub: tweaked PuSH feed garbage collection so other plugins can declare usage of a low-level feed or an OStatus profile besides profile subscriptions & group memberships.
SubMirror: redid add-mirror frontend to accept a feed URL, then pass that on to OStatus, instead of pulling from your subscriptions.
Profile: tweaked subscriberCount() so it doesn't subtract 1 for foreign profiles who aren't subscribed to themselves; instead excludes the self-subscription in the count query.
Memcached_DataObject: tweak to avoid extra error spew in the DB error raising

Work in progress: tweaking feedsub garbage collection so we can count other uses
2010-08-06 11:49:52 -07:00
Evan Prodromou
2ba36fc242 Merge branch 'activityhooks' into 0.9.x
Conflicts:
	classes/Notice.php
2010-08-03 16:01:18 -07:00
Evan Prodromou
f83171824f correctly show <source> for atom feeds 2010-08-03 15:50:21 -07:00
James Walker
517c7483d1 move to rel="salmon" (per latest spec) 2010-08-02 13:24:38 -04:00
Brion Vibber
41e9dba729 OStatus plugin: Rolling batch queueing for PuSH output to >50 subscribing sites. Keeps latency down for other things enqueued while we work... 2010-06-07 10:03:43 -07:00
Brion Vibber
5f4c6ec626 Skip enqueueing to outgoing bridges on incoming remote messages. Twitter, Facebook, RSSCloud, and OStatus checks were enqueued on these when they'd never do anything but churn the queue servers.
Notice::isLocal() can replace a number of manual checks for $notice->is_local being LOCAL_PUBLIC or LOCAL_NONPUBLIC.
2010-06-03 16:58:45 -07:00
Zach Copley
6187266205 - OStatusPlugin should return true if it doesn't need to handle source
attribution
- Remove stray break statement from NoticeList
2010-05-18 15:16:03 -07:00
James Walker
275002d88a allow hyphens in subdomains for webfinger addresses 2010-05-14 16:43:41 -04:00
Evan Prodromou
75b2bf2a4e Do ostatus queue first
We do the OStatus queue first, so if we're sending a notice to the
same server twice (e.g., with OMB), our richer and more featureful
notice comes in first.
2010-03-26 08:45:23 -04:00
Brion Vibber
5d3bce49b8 OStatus profile setup cleanup
* drop OStatusPlugin::localProfileFromUrl(), we can just look up on user.uri
* clean up a few edge cases that returned null through Ostatus_profile::ensure* code paths, now throws clear exception when we can't find a feed from the given profile url
* add some doc comments on the ensure* methods
2010-03-21 15:18:37 -07:00
Evan Prodromou
2ccd5187cc change profile URL ensure method for OStatus 2010-03-18 15:21:26 -05:00
Brion Vibber
c6f09306b1 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-10 17:04:51 -08:00
Brion Vibber
66518df435 OStatus: reject attempts to create a remote profile for a local user or group.
Some stray shadow entries were ending up getting created, which would steal group posts from remote users.
Run plugins/OStatus/scripts/fixup-shadow.php for each site to remove any existing ones.
2010-03-10 17:00:05 -08:00
Brion Vibber
8bf1b54abd Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-09 13:07:52 -08:00
Brion Vibber
80a17387bf Command input processing now has centralized places for looking up notice, user/profile, and group arguments.
OStatus plugin overrides these to allow using webfinger (user@example.com), profile URL (http://example.com/user) and bare profile URL (example.com/user) as arguments.
2010-03-09 13:03:32 -08:00
Brion Vibber
f969d6349c Merge branch 'testing' into 0.9.x
Conflicts:
	db/08to09.sql
2010-03-04 10:16:59 -08:00
James Walker
45f11d9637 adding plugin version to OStatus 2010-03-04 12:02:44 -05:00
Brion Vibber
b218aee94e Merge commit 'origin/testing' into 0.9.x
Conflicts:
	lib/action.php
	lib/adminpanelaction.php
2010-03-04 06:07:28 -08:00
James Walker
849f5783c4 update xrd -> userxrd 2010-03-04 01:30:15 -05:00
James Walker
1c8399fde1 refactor xrd to allow for ownerxrd - xrd document for the site owner.
introduced $config['webfinger']['owner'] for a custom xrd subject
2010-03-03 23:20:30 -05:00
Brion Vibber
628338265c OStatus: fix up remote join button on group profiles 2010-03-03 14:06:05 -08:00
Brion Vibber
4bad176088 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-03 13:41:00 -08:00
Brion Vibber
a42d1116db Separate the UI paths for ostatussub and ostatusgroup. They'll redirect to each other transparently if they find you've put a remote entity of the other type. 2010-03-03 13:40:26 -08:00
Sarven Capadisli
219e15ac64 Returning true instead for group remote subscription. If not logged
in, it gives the chance to use the logged in join/leave instead.
2010-03-03 16:26:02 -05:00
Sarven Capadisli
3c55edde39 Showing the remote subscribe button on the user groups page 2010-03-03 15:30:43 -05:00
Evan Prodromou
ccd0db1e0a add remote subscribe button for not-logged-in users looking a profile list with local users in it 2010-03-03 14:32:03 -05:00
Sarven Capadisli
023b9bb00f Renamed subscribe button from New to Remote since it only does remote
subscriptions at the moment.
2010-03-03 13:30:14 -05:00
Sarven Capadisli
2c9887bce5 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-03 12:57:03 -05:00
Sarven Capadisli
c8bdf3cacb Added group subscription button to groups mini list 2010-03-03 12:56:19 -05:00
Brion Vibber
9801c60bea Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-03 09:33:38 -08:00
Brion Vibber
1e63fda669 Clean up OStatus mentions finding; separate regexes keeps the code paths a bit clearer. Also switched to hitting HTTP profile first; as the common case it'll be faster. 2010-03-03 09:32:25 -08:00
Sarven Capadisli
11750e832f Added remote join action for group profile 2010-03-03 12:02:10 -05:00
Sarven Capadisli
ea10805e3f Moved the remote subscription button to subscription mini list 2010-03-03 11:22:21 -05:00
Sarven Capadisli
1a4652b1ad Changed label text for remote subscription to something similar. Given
that this button will be used within context of subscriptions, 'New'
works along with the '+' icon.
2010-03-03 10:32:54 -05:00
Brion Vibber
ddf3614c84 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-02 13:38:10 -08:00
Sarven Capadisli
e3c2b8e0b5 Refactored remote subscribe action in OStatus 2010-03-02 12:41:18 -05:00
Sarven Capadisli
88c33bbb57 Showing remote subscription button on the personal timeline 2010-03-02 12:35:27 -05:00
Brion Vibber
493b5479c1 OStatus: support @example.com/path/to/profile mentions as well as @profile@example.com (latter requires webfinger, former doesn't)
Plus misc warnings/notices cleanup in the submission path.
2010-03-01 16:43:36 -08:00
Brion Vibber
9b366547d7 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-26 12:33:50 -08:00
James Walker
223ebc765c move signing to take a local actor profile and use local keys 2010-02-26 14:22:49 -05:00
James Walker
bbb0a7d5bc updating to use latest salmon NS definitions 2010-02-26 14:22:49 -05:00
Brion Vibber
8dfc8f1635 Merge branch 'testing' into 0.9.x 2010-02-26 09:35:28 -08:00
James Walker
84d0c865c4 salmon actually fetching remote keypairs 2010-02-26 03:25:51 -05:00
James Walker
93f4f07c12 moving webfinger action to xrdaction 2010-02-25 17:52:18 -05:00
James Walker
5cb6e54bed call-time pass by reference 2010-02-25 17:09:54 -05:00
Brion Vibber
58e232a10a OStatus: when finding webfinger @-replies, override a local profile match if found at the same location (eg @someguy vs @someguy@example.org)
Fixes inconsistent application of webfinger @-mentions in OStatus; once a local profile is set up the local name would often match first and ended up overriding in output.
2010-02-25 02:56:56 +00:00
Brion Vibber
59be4b8cae Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-24 15:47:51 -08:00
Brion Vibber
0c7844734e Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-24 20:38:38 +00:00
Brion Vibber
c36bdc1ba5 - break OMB profile update pings to a background queue
- add event hooks to profile update pings
- send Salmon pings with custom update-profile event to OStatus subscribees and groups (subscribers will see it on your next post)
- fix OStatus queues with overlong transport names, should work on DB queues now
- Ostatus_profile::notifyActivity() and ::notifyDeferred() now can take XML, Notice, or Activity for convenience
2010-02-24 20:36:36 +00:00
Evan Prodromou
daea988786 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-24 15:00:52 -05:00
Brion Vibber
2e58802cc9 OStatus: fix group delivery, send reply/group Salmon pings from background. 2010-02-24 02:20:31 +00:00
Brion Vibber
584b87cfe5 OStatus: consolidate the low-level notice save code between Salmon and PuSH input paths. Validation etc remains at higher levels. 2010-02-24 01:09:52 +00:00
Brion Vibber
d6ad733247 OStatus: fixes for link/id and text extraction gets import of Buzz feeds working. 2010-02-23 21:47:14 +00:00
Evan Prodromou
f5ec7c2707 some logging for OStatusPlugin::onStartFindMentions() 2010-02-23 16:13:24 -05:00
Evan Prodromou
b09304a6c4 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
Conflicts:
	plugins/OStatus/OStatusPlugin.php
2010-02-23 16:02:27 -05:00
Evan Prodromou
a0c255e231 move mention detection before default in OStatusPlugin 2010-02-23 15:59:10 -05:00
Brion Vibber
90d34b26c6 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. 2010-02-23 20:44:27 +00:00
James Walker
f4b34d67c5 generate keypairs for users, and put them in the XRD for discovery 2010-02-22 23:30:31 -05:00
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