Commit Graph

236 Commits

Author SHA1 Message Date
Sarven Capadisli 8336e24179 Using … (hellip) instead of "more" for link text 2010-03-25 22:18:21 +01:00
Brion Vibber c11064a539 Updated 'more' anchor for attachments to do an XHR GET
Conflicts:

	lib/attachmentlist.php
	plugins/OStatus/classes/Ostatus_profile.php

Merge tried to delete things that it seems it shouldn't, very confusing order. Hope rest of the cherry-picking isn't a problem.
2010-03-25 14:15:54 -07:00
James Walker 9e0b9857f4 Make sure we're requiring the library 2010-03-24 15:26:03 -04:00
James Walker cfca789b34 Updated Math_Biginteger from upstream - removing safe* workarounds 2010-03-24 15:18:41 -04:00
James Walker c4273f0ef3 Check for 0.9.0 bad keys from old Crypt_RSA library 2010-03-24 15:15:20 -04:00
Zach Copley 5b0b6097e0 Fix reference. Look at the first ActivityObject in the list. 2010-03-22 21:48:21 -07:00
Zach Copley b8e97ac709 Some initial media parsing
- Activity now returns a list of activity objects
- Processing of photo objects
2010-03-22 18:55:17 -07:00
Brion Vibber 27bfd1211d Math_BigInteger doesn't correctly handle serialization/deserialization for a value of 0, which can end up spewing notices to output and otherwise intefering with Salmon signature setup and verification when using memcached.
Worked around this with a subclass that fixes the wakeup, used for the stored 0 value in the subclassed Crypt_RSA.
2010-03-22 12:17:45 -07:00
Evan Prodromou edee1fc09e ignore unrecognized object types 2010-03-22 08:17:14 -04:00
Brion Vibber fcb614d0eb Pull <atom:author> info as well as <activity:actor> when we have an old-style ActivityStreams feed. This fixes subscription setup for Cliqset feeds, which currently have a bogus activity:actor/atom:id but a good atom:author/atom:uri 2010-03-21 16:25:12 -07:00
Brion Vibber b228da628d Accept 'tag' and other non-http id URIs in Ostatus_profile::getActivityObjectProfileURI().
(If there's not a valid ID we fall back to the link, which we do still validate as http/s.)
2010-03-21 15:46:28 -07: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 0f1f7ab79b only use Posterous author data if it matches the profile URL 2010-03-21 07:37:58 -05:00
Evan Prodromou c2afdfbbf5 use Posterous element if available for RssChannel discovery 2010-03-20 17:18:55 -05:00
Evan Prodromou fb2b45c68a use feedEl for discovery 2010-03-20 09:46:22 -05:00
Evan Prodromou 515acb8513 fall back to summary or title if content not available 2010-03-20 09:30:57 -05:00
Evan Prodromou 25cb917523 Allow PuSH posts without author information
Superfeedr (sp.?) posts entries without author information. We can
assume that this is intended to be by the original author.
Re-structured the checks for entries that come in by PuSH so they can
either have no author or an empty author, but not a different author.
2010-03-20 08:25:56 -05:00
Evan Prodromou f558508784 handle RSS as well as Atom in Ostatus push hits 2010-03-20 07:23:13 -05:00
Evan Prodromou c0f6572001 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-20 06:44:55 -05:00
Evan Prodromou 51283a1b34 try to make a nickname from the user profile url before using the URI 2010-03-20 06:44:38 -05:00
Brion Vibber c84c4c6839 OStatus: be a little laxer about attempts to start/stop PuSH subscriptions that were left in an inconsistent state.
Instead of aborting, we'll try to reconfirm the sub/unsub, which once confirmed will replace whatever the previous state was on the server side.
2010-03-19 15:47:43 -07:00
Evan Prodromou db9e57f761 ensure from an RSS channel 2010-03-19 15:50:06 -05:00
Brion Vibber 9e3e1d3d56 Validate OStatus avatar URL before fetching. 2010-03-19 10:15:00 -07:00
Brion Vibber c8e3d08a8f Fix notice warning about unused var -- was renamed during refactoring. 2010-03-18 15:11:25 -07:00
Brion Vibber cac9d23498 Fix for xmpp/sms notification options appearing to be disabled on new subscriptions.
Base problem is that our caching-on-insert interferes with relying on column default values; the cached object is missing those fields, so they appear to be empty (null) when the object is retrieved from cache.
Now explicitly setting them when inserting subscriptions, and cleaned up some code that had alternate code paths.

May also have made auto-subscription work for remote OStatus subscribers, but can't test until magic sigs are working again.
2010-03-18 14:26:32 -07:00
Brion Vibber f1b3d84b7d Fix some remote subscription regressions from f21f78364a
Ostatus_profile::ensureProfile() has been renamed to Ostatus_profile::ensureProfileURL()
2010-03-18 13:13:57 -07:00
Evan Prodromou 4761c07ad8 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-17 09:38:39 -05:00
Evan Prodromou f21f78364a Change the workflow to get better discovery
Tried to re-structure the workflow of discovery to get more and richer
data and hints.
2010-03-16 11:25:18 -05:00
James Walker 99ca84e68e changing keypair to text to hold a full 1024bit keypair 2010-03-13 15:46:54 -05:00
James Walker 135c0c8a7f cleaning up key generation 2010-03-12 21:44:18 -05:00
James Walker 4e44cf906b converting key generation to new crypt library 2010-03-12 20:02:00 -05:00
James Walker c5bb41176e converted toString to new crypt library 2010-03-12 19:42:48 -05:00
James Walker 23d44c7d59 converted sign, verify and fromString to new crypt lib 2010-03-12 19:34:45 -05:00
Brion Vibber 9e9ab23e1f Fixes for updating indices, charset/collation and engine type on plugin-created tables.
Under MySQL, new tables will be created as InnoDB with UTF-8 (utf8/utf8_bin) same as core tables.
Existing plugin tables will have table engine and default charset/collation updated, and string columns will have charset updated, at checkschema time.

Switched from 'DESCRIBE' to INFORMATION_SCHEMA for pulling column information in order to get charset. A second hit to INFORMATION_SCHEMA is also needed to get table properties.

Indices were only being created at table creation time, which ain't so hot. Now also adding/dropping indices when they change.

Fixed up some schema defs in OStatus plugin that were a bit flaky, causing extra alter tables to be run.

TODO: Generalize this infrastructure a bit more up to base schema & pg schema classes.
2010-03-12 13:16:32 -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
James Walker 7214db14fe wrong param order to strpos() 2010-03-09 01:24:21 -05:00
Brion Vibber 89e313e45b OStatus fix: send the feed's root element, not the DOM document, down to low-level feed processing as entry context on PuSH input. 2010-03-05 10:55:07 -08:00
Brion Vibber 14065ca350 OStatus: code cleanup on webfinger fallback path 2010-03-03 18:28:39 -08:00
Brion Vibber a4d9171306 Fix up catching of webfinger setup fails 2010-03-03 18:23:28 -08:00
Brion Vibber f3cea24304 Fix for hcard parsing: typo caused notice spew accessing unset array index 2010-03-03 09:36:26 -08:00
Brion Vibber 79ffebb51b OStatus: save file records for enclosures
Also stripping id from foreign HTML messages (could interfere with UI) and disabled failing attachment popup for a.attachment links that don't have a proper id, so you can click through instead of getting an error.

Issues:
* any other links aren't marked and saved
* inconsistent behavior between local and remote attachments (local displays in lightbox, remote doesn't)
* if the enclosure'd object isn't referenced in the content, you won't be offered a link to it in our UI
2010-03-02 16:36:08 -08:00
Brion Vibber 680ace1966 High-priority OStatus fixes:
* PuSHing out to multiple client services could fail; only first callback got reached
* Correction for re-sub request to a known sub
2010-03-01 18:46:34 -08:00
Brion Vibber e30af99873 Merge branch 'work' into testing 2010-03-01 16:57:58 -08: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 45e8819c1b Fix a bunch of notice & warning-level messages that were breaking my inter-instance communications 2010-03-01 16:35:36 -08:00
James Walker 831eb0d2b6 renaming sha256 to prevent conflict 2010-02-26 18:27:13 -05:00
James Walker ee7603b09f better return check in Magicsig::staticGet() 2010-02-26 17:53:27 -05:00
James Walker 6ee7660a58 should be sequenceKey (singular) 2010-02-26 16:51:50 -05:00
James Walker 0ecf435dc5 adding sequenceKeys() to magicsig 2010-02-26 16:50:00 -05:00
James Walker f23a877cd8 Discovery::lookup now throws an exception 2010-02-26 15:39:58 -05: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
James Walker ab8bb4d79e more cleanup 2010-02-26 04:07:58 -05:00
James Walker 7c8031dc4b Merge remote branch 'statusnet/testing' into testing
Conflicts:
	plugins/OStatus/lib/webfinger.php
2010-02-25 23:49:45 -05:00
James Walker 0afb09ad64 er. right. 2010-02-25 23:37:59 -05:00
Brion Vibber 02300ebfb0 Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-02-25 19:52:19 -08:00
Brion Vibber 2528bb452b OStatus: clean up known-URL hinting during profile setup, saves some extra HTTP hits we were getting when mentioning Buzz feeds. 2010-02-25 19:50:59 -08:00
Zach Copley cf61f36e6b Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline:
  OStatus: pull best-sized avatar image (96x96 if found, otherwise largest, otherwise if none labeled takes the first)
  info about discovery in Ostatus_profile::ensureWebfinger()
  cache Web responses in Webfinger library
2010-02-25 18:57:12 -08:00
Zach Copley d8d8d59a03 - Updates to use new activity object factories
- Prune obsolete feed creation method
2010-02-25 18:55:11 -08:00
Brion Vibber 2fa953da22 Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-02-25 18:52:26 -08:00
Brion Vibber 2feb09f434 OStatus: pull best-sized avatar image (96x96 if found, otherwise largest, otherwise if none labeled takes the first) 2010-02-25 18:51:44 -08:00
Evan Prodromou e197208a4a info about discovery in Ostatus_profile::ensureWebfinger() 2010-02-25 21:07:52 -05:00
Evan Prodromou c693365ae7 cache results of webfinger lookups 2010-02-25 20:29:52 -05:00
Evan Prodromou 1cae324555 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-25 19:59:01 -05:00
Evan Prodromou 894b221e8a Parse an hcard for hints, if available 2010-02-25 19:58:51 -05:00
Zach Copley 82cac2be59 Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline:
  OStatus: if no <link> available and no profileurl hint passed in, use object id if it's an HTTP(S) URL. Fixes profile link for Google accounts.
  Tweak common_url_to_nickname to take the last path component; fixes pulling nicks from Google profile pages (path is "/profile/<nickname>")
  Fix bug on subscribe/unsubscribe in profile lists. Bogus call to nonexisting profile->getProfile() was masked by DB_DataObject
2010-02-25 16:07:32 -08:00
Zach Copley 7922edb5b6 Add lots of fun avatars to our Atom output 2010-02-25 16:06:49 -08:00
Brion Vibber 45435a7c03 OStatus: if no <link> available and no profileurl hint passed in, use object id if it's an HTTP(S) URL. Fixes profile link for Google accounts. 2010-02-26 00:01:22 +00:00
James Walker 5ae64a7adb moving references to Webfinger to Discovery 2010-02-25 17:34:56 -05:00
Brion Vibber b5b5184c88 OStatus: fix remote groups to work with new user_groups/local_groups split.
- fix <activity:subject> generation so we get the profile info (what's available so far)
- use id instead of nickname for group join/leave forms so we can join/leave remote groups
  while the rest of the groups UI remains limited to local groups
  (plugins are responsible for making sure remote notifications and permission checks are done)
- fix remote notification when joining group through OStatus's remote subscribe form
2010-02-25 13:02:08 -08:00
Brion Vibber 79c0d52daa OStatus: save categories from the Atom entry as hashtags. 2010-02-25 11:26:33 -08:00
Evan Prodromou 374c488cf1 return attachement from saveHTMLFile() 2010-02-24 22:26:40 -05:00
Evan Prodromou b08a527139 content_* to common_* 2010-02-24 22:22:42 -05:00
Evan Prodromou 942521ef30 if OStatus post is too long, show the summary and save it as an HTML attachment 2010-02-24 22:02:43 -05:00
Zach Copley 10884dcd49 Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline:
  Merge StatusNet core localization updates from 0.9.x branch
  Fix update_po_templates.php to support the plural and context variants of _m() in plugins
  Drop HTMLPurifier; we don't need its extra capabilities and we're already using htmLawed which is lighter-weight.
  OStatus: handle update-profile Salmon pings
  Revert "Updated jQuery Form Plugin from v2.17 to v2.36"
  OStatus: disable HTMLPurify cache unless we've configured a writable path for it.
2010-02-24 16:52:16 -08:00
Zach Copley 543ff40ef6 Populate more profile information when doing a remote subscribe 2010-02-24 16:51:24 -08:00
Brion Vibber e18e659ca3 Drop HTMLPurifier; we don't need its extra capabilities and we're already using htmLawed which is lighter-weight. 2010-02-24 23:39:40 +00:00
Brion Vibber 93507a1927 OStatus: handle update-profile Salmon pings 2010-02-24 23:28:01 +00:00
Brion Vibber ec4899e617 OStatus: disable HTMLPurify cache unless we've configured a writable path for it.
Updated plugin README with available config options.
Cleanup for a bad element fallback lookup in Activity
2010-02-24 22:16:17 +00: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 269d567d94 use Subscription::start() for remote subscribes 2010-02-24 15:20:06 -05:00
Brion Vibber 07214f1370 OStatus: save updated profile bits when they come in over the wire; fix up nicknames 2010-02-24 19:06:10 +00: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
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 1fe031844c er typo 2010-02-22 23:44:33 -05:00
James Walker 17b8020d25 clean up error logging 2010-02-22 23:30:31 -05:00
James Walker f4b34d67c5 generate keypairs for users, and put them in the XRD for discovery 2010-02-22 23:30:31 -05:00
James Walker 74f5c1e169 db_objectified magic sig - for persistence of local keypairs 2010-02-22 23:30:31 -05:00
James Walker cb32b676fa moving magicsig.php to classes - to add storage 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
Evan Prodromou 75fdef2092 handle poco nicknames in Ostatus_profile 2010-02-22 07:57:44 -05: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 79c76f1a87 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-21 21:57:32 -05:00
Evan Prodromou be70dd3677 work harder to preserve info when creating new Ostatus_profile 2010-02-21 21:57:09 -05:00
Brion Vibber d3996996e4 Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-02-21 18:54:06 -08:00
Brion Vibber 78ca45c7a0 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
2010-02-21 18:51:15 -08:00
Evan Prodromou 273c0e0363 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-21 21:39:50 -05:00
Evan Prodromou bf23c35495 Add OStatus_profile::ensureWebfinger() 2010-02-21 21:37:12 -05:00
Brion Vibber aa0b2ce81a 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.
2010-02-21 14:28:06 -08: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
Evan Prodromou 10f6c023f4 include namespaces in posted activities in notifyActivity() 2010-02-21 16:23:55 -05:00
Evan Prodromou 16a43b1154 slightly more robust remote profile creation 2010-02-21 14:14:45 -05:00
Evan Prodromou 068d8f9220 correct call to time() in Ostatus_profile::notify() 2010-02-21 13:31:58 -05:00
Evan Prodromou 1a86bf9c65 try different ways to get a profile from a feed 2010-02-21 12:56:46 -05:00
Evan Prodromou 4e90bd34e9 activity notification in Ostatus_profile 2010-02-21 10:53:11 -05:00
Brion Vibber 5df61141d2 OStatus: fix regressions from merge 2010-02-20 18:25:40 -08: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
Evan Prodromou ab4ec095e8 adjust URI, URL, and location in Ostatus_profile::processPost 2010-02-20 11:38:05 -05:00
Evan Prodromou ed45df045f Cool bug! Technically good PHP syntax 2010-02-20 11:17:54 -05:00
Brion Vibber 50db2d5d69 OStatus: Salmon notifications now being generated moderately correctly. :) Needs to be an <entry> not a <feed>. 2010-02-19 17:01:38 -08: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 114eb310ca OStatus: fix up Salmon endpoint detection/saving, timestamp fixes. 2010-02-19 10:29:06 -08:00
Evan Prodromou 48edade751 add ActivityContext class and test it 2010-02-18 22:18:14 -05: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 454d0b5738 OStatus: moving parts of profile processing to Activity from feedmunger. Pausing before refactoring DB schema a bit to clean up feed vs person vs group info 2010-02-17 01:49:49 +00:00
Brion Vibber 4a139d1cc8 OStatus: migrated notice parsing to use Activity helper classes; on the way to killing FeedMunger 2010-02-16 23:31:11 +00:00
Brion Vibber 440ab90391 OStatus: fix up some recent regressions in subscription setup; fix state checks and verification token, and avatar save on setup. Needs updates for new atom code next... 2010-02-16 22:03:24 +00:00
Brion Vibber a116cde1a4 OStatus: fix for low-level remote subscribe 2010-02-16 20:11:48 +00:00
Evan Prodromou 5a357d5399 change find() to staticGet() to use cache 2010-02-16 09:58:33 -05:00
Brion Vibber b39047d95b OStatus: prep work for sending notifications on sub/unsub/join/leave/favorite/unfavorite via Salmon; needs to be completed and hooked up once feed gen is fixed. 2010-02-12 18:54:48 +00:00
Brion Vibber bc46621af2 OStatus sub setup code cleanup and partial group fixes (needs more work after the Atom updates are done) 2010-02-12 01:11:46 +00: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 1773d12a24 OStatus: save Salmon postback URI in feed subscription info, if provided. Will need it for sub/unsub postbacks and other notifications. 2010-02-11 20:12:48 +00:00
Brion Vibber 20714d1f35 OStatus fix: include feed profile at notice text processing time, fixes replies 2010-02-11 19:44:03 +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
Brion Vibber 162868afdb OStatus update: now using standard save/delivery for incoming ostatus messages -- they get reflected to realtime and everything! woooo
Group delivery may still need some munging
2010-02-10 21:18:53 +00: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
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