Brion Vibber [Mon, 8 Feb 2010 22:06:36 +0000 (14:06 -0800)]
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
Brion Vibber [Mon, 8 Feb 2010 19:06:03 +0000 (11:06 -0800)]
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.
Brion Vibber [Fri, 5 Feb 2010 17:47:56 +0000 (09:47 -0800)]
Don't spew warnings on usage of MEMCACHE_COMPRESSED constant when memcache PHP extension is not present.
Switched to a locally-defined Cache::COMPRESSED, translating that to MEMCACHE_COMPRESSED in the plugin.
Brion Vibber [Thu, 4 Feb 2010 22:50:20 +0000 (14:50 -0800)]
Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now.
No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.
This can leave us with overlap between pages, but we already have that when new messages come in between clicks; seems to be the lesser of evils versus not getting a 'before' button.
More permanent fix for that will be to switch timeline paging in the UI to use notice IDs.
Brion Vibber [Thu, 4 Feb 2010 22:50:20 +0000 (14:50 -0800)]
Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now.
No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.
This can leave us with overlap between pages, but we already have that when new messages come in between clicks; seems to be the lesser of evils versus not getting a 'before' button.
More permanent fix for that will be to switch timeline paging in the UI to use notice IDs.
Brion Vibber [Thu, 4 Feb 2010 21:08:34 +0000 (13:08 -0800)]
Should fix spurious 'nickname taken' and 'email taken' errors on registration. Form's checks for existing nicks & emails would incorrectly return true on the second lookup due to bad interaction with negative caching.
(was checking $obj !== false but we return null now on negative cache hits, with false for cache misses)
Moved hardcoded identica theme out of MobileProfile. In this case, it
will use whichever theme is loaded as its base and then add its own
mobile styles. Of course, if a theme comes with its own mobile styles,
it will use that instead as an addition to its own base.
Brion Vibber [Thu, 4 Feb 2010 19:06:01 +0000 (11:06 -0800)]
Add time-based cutoffs for public tag cloud, favorited lists to speed up those queries.
Defaulting to only looking at last 90 days of activity, can be adjusted up or down.
Zach Copley [Tue, 2 Feb 2010 23:16:44 +0000 (23:16 +0000)]
Always check for an OAuth request. This allows OAuth clients to set an
auth user, similar to how they can set one via http basic auth,
even if one is not required. I think I finally got this right.
Sarven Capadisli [Sun, 31 Jan 2010 22:37:22 +0000 (22:37 +0000)]
Updated XHR binded events to work better in jQuery 1.4.1. Using
.live() for event delegation instead of jQuery.data() and checking to
see if an element was previously binded.
Evan Prodromou [Sun, 31 Jan 2010 20:16:59 +0000 (15:16 -0500)]
Add Really Simple Discovery (RSD) support
Anil Dash suggested that all implementers of the Twitter API include
support for the remedial RSD format. This commit adds an RSD action
that returns the API root and additional API data to help client
developers discover and use our Twitter-compatible API.
Evan Prodromou [Sun, 31 Jan 2010 15:12:26 +0000 (10:12 -0500)]
Add a robots.txt URL to the site root
Adds a robots.txt file to the site root. Defaults defined by
'robotstxt' section of config. New events StartRobotsTxt and
EndRobotsTxt to let plugins add information. Probably not
useful if path is not /, but won't hurt anything, either.