Brion Vibber [Sat, 20 Feb 2010 20:46:48 +0000 (12:46 -0800)]
OStatus subscription page fixups; works but needs lots of UI loving!
- ostatussub via subscribe button now works again (changed to take profile instead of feed, patched up to the new discovery)
- added a quickie hack to allow putting your remote profile URI in place of webfinger acct through the remote-sub button (needs to be patched up to do proper discovery via XRDS or a link or something)
Evan Prodromou [Sat, 20 Feb 2010 18:31:20 +0000 (13:31 -0500)]
Change to use TagURI::base() instead of common_config()
I changed the way that tag: URIs are minted, so we now use the right
base. Ideally most of these would use HTTP URIs instead, but for
now at least they use the right base.
Evan Prodromou [Sat, 20 Feb 2010 18:23:08 +0000 (13:23 -0500)]
Add a library to mint tag URIs
We've been making pretty crummy tag: URIs for a while. We should
continue to favor HTTP URIs, since it's nice to be able to discover
things about an object you've shared the ID of. Where that's not
possible, this makes nicer tag URIs.
Evan Prodromou [Sat, 20 Feb 2010 16:35:01 +0000 (11:35 -0500)]
Add HTMLPurifier to extlib
HTMLPurifier defangs arbitrary submitted HTML. We're using it in the
OStatus plugin, but it may be valuable for other parts of the codebase
(I think OEmbed might benefit, for example).
Evan Prodromou [Fri, 19 Feb 2010 13:16:45 +0000 (08:16 -0500)]
Refactor subs_* functions for remote use
The subs_* functions in subs.php have made a lot of assumptions
about users versus profiles. I've refactored the functions to
be methods of the Subscription class instead, and to use Profile
objects throughout.
Some of the checks for blocks or existing subscriptions depended
on users or profiles, so I've moved those methods around a bit.
I've left stubs for the subs_* functions until we get time to replace
them.
Brion Vibber [Thu, 18 Feb 2010 21:22:21 +0000 (21:22 +0000)]
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)
Brion Vibber [Thu, 18 Feb 2010 00:49:00 +0000 (16:49 -0800)]
Queues: redid the breakout control model so we can start up and subscribe to queues without running through the complete site list, which is ok at 1k sites but too slow at 10k.
All breakout queues that we're going to need to listen to now need to be explicitly listed in $config['queue']['breakout'].
Until XMPP is moved to component model, this setting will let the individual processes work with their own queues:
$config['queue']['breakout'][] = 'xmpp/xmppout/' . $config['site']['nickname'];
Zach Copley [Tue, 16 Feb 2010 06:12:08 +0000 (06:12 +0000)]
Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
Brion Vibber [Wed, 17 Feb 2010 17:58:34 +0000 (09:58 -0800)]
PostDebug plugin - saves POST data to debug log or directory to help debug form submission and server-to-server communications.
Some sensitive items are sanitized but not all - don't just shove out the log results publicly!
Zach Copley [Wed, 17 Feb 2010 04:14:33 +0000 (20:14 -0800)]
Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline:
OStatus: override source link with the source domain and link to original message
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
Brion Vibber [Wed, 17 Feb 2010 01:49:49 +0000 (01:49 +0000)]
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
Brion Vibber [Tue, 16 Feb 2010 22:03:24 +0000 (22:03 +0000)]
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...
Brion Vibber [Tue, 16 Feb 2010 17:01:59 +0000 (09:01 -0800)]
Stomp queue restructuring for mass scalability:
- Multiplexing queues into groups and for multiple sites.
- Sharing vs breakout configurable per site and per queue via $config['queue']['breakout']
- Detect how many times a message is redelivered, discard if it's killed too many daemons
- count configurable with $config['queue']['max_retries']
- can dump the items to files in $config['queue']['dead_letter_dir']
Queue daemon memory & resource leak fixes:
- avoid unnecessary reconnections to memcached server (switch persistent connections back in on second initialization, assuming it's child process)
- monkey-patch for leaky .ini loads in DB_DataObject::databaseStructure() - was leaking 200k per active switch
- applied leak fixes to Status_network as well, using intermediate base Safe_DataObject for both it and Memcache_DataObject
Misc queue fixes:
- correct handling of child processes exiting due to signal termination instead of regular exit
- shutdown instead of infinite respawn loop if we're already past the soft memory limit at startup
- Added --all option for xmppdaemon... still opens one xmpp connection per site that has xmpp active
Cache updates:
- add Cache::increment() method with native support for memcached atomic increment