Zach Copley [Mon, 15 Feb 2010 21:10:45 +0000 (21:10 +0000)]
Fix for regression introduced with my last update to the
TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.
Brion Vibber [Wed, 10 Feb 2010 18:59:30 +0000 (10:59 -0800)]
Queue daemon fixes:
* skip unnecessary unsubscribes on graceful shutdown -- takes a long time for many queues, slows down our restarts when hitting graceful mem limit
* fix control channel (was broken when we switched to support multiple queue servers)
Brion Vibber [Tue, 9 Feb 2010 20:39:31 +0000 (12:39 -0800)]
Configurable delay between queuedaemon.php spawns/respawns to help stagger out startups and subscriptions. Defaults to 1 second.
$config['queue']['spawndelay'] = 1;
Brion Vibber [Mon, 8 Feb 2010 23:32:20 +0000 (15:32 -0800)]
Allow scripts/decache.php to blow out cache for objects that don't exist (anymore).
May miss keys other than the given or primary key, but should work for a lot of common cases where a bad entry's been removed from DB but lingers in cache.
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.
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)
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.
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.
Brion Vibber [Fri, 29 Jan 2010 00:49:32 +0000 (16:49 -0800)]
Manual failover for stomp queues.
If an array of multiple servers is put in $config['queue']['stomp_server'], enqueues will pick a random server to send to (failing over automatically if any are down).
Queue handling daemons connect all servers so they get events no matter where they were delivered.
In case of disconnection, daemons should now handle it gracefully and attempt to reconnect every 60 seconds or so, automatically resubscribing to all queues once it's back up.
Can put to 'native' failover for reads as well by disabling $config['stomp']['manual_failover'] = false; but this is untested and may explode in addition to requiring that your ActiveMQ cluster actually be set up to handle its own data distribution.
Additionally, can choose which queues to mark as persistent by setting $config['stomp']['persistent'] to an array of queue names.