gnu-social/actions
Brion Vibber 26fdf0c9d2 XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.
2010-01-21 16:42:50 -08:00
..
accesstoken.php Merge branch '0.8.x' into 0.9.x 2009-08-27 11:16:45 -07:00
all.php change double quotes to single quotes in numbered format string 2010-01-13 23:17:37 -08:00
allrss.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
apiaccountratelimitstatus.php Merge branch '0.9.x' into finish-account-api 2009-11-10 15:25:43 -08:00
apiaccountupdatedeliverydevice.php Added some notes in the comments 2009-11-10 15:23:33 -08:00
apiaccountupdateprofile.php Make /api/account/update_profile_background_image.format work even 2009-11-09 23:56:02 -08:00
apiaccountupdateprofilebackgroundimage.php Make /api/account/update_profile_background_image.format work even 2009-11-09 23:56:02 -08:00
apiaccountupdateprofilecolors.php Make /api/account/update_profile_background_image.format work even 2009-11-09 23:56:02 -08:00
apiaccountupdateprofileimage.php Make /api/account/update_profile_background_image.format work even 2009-11-09 23:56:02 -08:00
apiaccountverifycredentials.php - Had to remove checking read vs. read-write in OAuth authenticated methods 2010-01-14 02:41:11 +00:00
apiblockcreate.php events for blocking a user 2009-12-28 10:42:55 -08:00
apiblockdestroy.php add events for unblocking a profile 2009-12-28 10:50:12 -08:00
apidirectmessage.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apidirectmessagenew.php create a method for notification for new messages, and use it 2009-12-15 10:31:25 -05:00
apifavoritecreate.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apifavoritedestroy.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apifriendshipscreate.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apifriendshipsdestroy.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apifriendshipsexists.php Fix for Ticket #1957 - API methods are not accessible when site is private (0.8->0.9 regression) 2009-11-04 22:03:41 -08:00
apifriendshipsshow.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apigroupcreate.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apigroupismember.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apigroupjoin.php Missed change when refactoring groups. Thanks macno 2010-01-16 11:56:07 -05:00
apigroupleave.php Missed change when refactoring groups. Thanks macno 2010-01-16 11:56:07 -05:00
apigrouplist.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apigrouplistall.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apigroupmembership.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apigroupshow.php - Moved checking for group aliases and redirection to prepare() 2010-01-21 11:37:20 -08:00
apihelptest.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apioauthaccesstoken.php OAuth 1.0 working now 2010-01-14 02:41:09 +00:00
apioauthauthorize.php Fix i18n issue: please number variables when using more than one to allow word order changes without unexpected results. 2010-01-14 23:29:16 +01:00
apioauthrequesttoken.php OAuth 1.0 working now 2010-01-14 02:41:09 +00:00
apistatusesdestroy.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apistatusesretweet.php parse error in retweet method 2009-12-14 15:49:19 -05:00
apistatusesretweets.php retweet API methods are readonly 2010-01-21 11:32:01 -05:00
apistatusesshow.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apistatusesupdate.php - Had to remove checking read vs. read-write in OAuth authenticated methods 2010-01-14 02:41:11 +00:00
apistatusnetconfig.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apistatusnetversion.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apisubscriptions.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelinefavorites.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelinefriends.php remove debugging statement for friends_timeline 2010-01-13 23:28:51 -08:00
apitimelinegroup.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelinehome.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelinementions.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelinepublic.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelineretweetedbyme.php Unimplement retweeted_by_me API action until we have a more efficient query 2010-01-21 11:38:08 -05:00
apitimelineretweetedtome.php retweet API methods are readonly 2010-01-21 11:32:01 -05:00
apitimelineretweetsofme.php retweet API methods are readonly 2010-01-21 11:32:01 -05:00
apitimelinetag.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apitimelineuser.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
apiuserfollowers.php Added in credits. 2009-10-12 16:36:00 -07:00
apiuserfriends.php Added in credits. 2009-10-12 16:36:00 -07:00
apiusershow.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
attachment_ajax.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
attachment_thumbnail.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
attachment.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
avatarbynickname.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
avatarsettings.php New Events for avatar settings 2009-12-09 22:31:07 -05:00
block.php events for blocking a user 2009-12-28 10:42:55 -08:00
blockedfromgroup.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
bookmarklet.php Don't include site in gettext 2009-10-29 13:24:06 +01:00
confirmaddress.php Make page titles more consistent: no title case in four cases. 2010-01-14 23:32:40 +01:00
conversation.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
deletenotice.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
deleteuser.php DeleteUserAction 2009-11-16 17:04:40 +01:00
designadminpanel.php Updated path to farbtastic stylesheet 2010-01-18 11:29:05 +00:00
disfavor.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
doc.php Merge branch '0.8.x' into 0.9.x 2009-08-27 11:16:45 -07:00
editapplication.php Make page titles more consistent: no title case in four cases. 2010-01-14 23:32:40 +01:00
editgroup.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
emailsettings.php Missing null className for incoming email form legend 2010-01-18 17:17:02 +00:00
favor.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
favorited.php Ticket 2141: bugs with weighted popularity lists across year boundary. 2010-01-04 13:01:17 -08:00
favoritesrss.php Output If-Modified-Since header for all RSS 1.0 feeds (again) 2009-09-24 15:10:55 -07:00
featured.php Remove pleonasm in UI text 2009-12-20 20:20:35 +01:00
file.php (Puctuation) consistency in clientError() calls. 2009-12-13 18:55:17 +01:00
finishremotesubscribe.php Fix fatal error on OMB subscription for first-timers 2009-11-25 12:11:41 -08:00
foaf.php tobyink's location RDF patch 2009-11-19 12:00:25 -05:00
foafgroup.php FOAF for Groups. 2009-09-30 13:59:18 -04:00
geocode.php If we got an identified location at ajax check time, renormalize lat/lon and naming. This'll match other displays of the names more consistently (Opera Plaza, San Francisco, CA, US instead of Opera Plaza, US) 2009-12-29 14:30:15 -08:00
getfile.php Require users to login to view attachments on private sites 2010-01-05 17:49:28 -05:00
groupblock.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
groupbyid.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
groupdesignsettings.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
grouplogo.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
groupmembers.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
grouprss.php (Puctuation) consistency in clientError() calls. 2009-12-13 18:55:17 +01:00
groups.php Revert "* check usage of 'people' in UI and change it to 'users' or something else in most places" 2009-11-08 23:22:13 +01:00
groupsearch.php Merge remote branch 'statusnet/0.8.x' into 0.9.x 2009-10-11 13:39:10 -04:00
groupunblock.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
imsettings.php XMPP queued output & initial retooling of DB queue manager to support non-Notice objects. 2010-01-21 16:42:50 -08:00
inbox.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
invite.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
joingroup.php add events for subscribing to people and joining groups 2010-01-13 02:16:13 -08:00
leavegroup.php add events for subscribing to people and joining groups 2010-01-13 02:16:13 -08:00
login.php inject session before redirect for login 2010-01-11 08:40:22 +00:00
logout.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
makeadmin.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
microsummary.php Harmonise UI message "No such user." 2009-11-08 23:10:44 +01:00
newapplication.php Make page titles more consistent: no title case in four cases. 2010-01-14 23:32:40 +01:00
newgroup.php Consolidate group creation into static function in User_group 2009-11-18 15:54:24 -05:00
newmessage.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
newnotice.php Updated element id for notice_data-geo 2010-01-04 12:43:56 +00:00
noticesearch.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
noticesearchrss.php Fix bug 1997: notice search rss utter failure 2009-11-20 14:54:59 -08:00
nudge.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
oauthappssettings.php Rework application registration workflow to be more private 2010-01-14 02:41:09 +00:00
oauthconnectionssettings.php Fix inconsistent title case in page title 2010-01-14 23:36:13 +01:00
oembed.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
opensearch.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
othersettings.php Make page titles more consistent: no title case in four cases. 2010-01-14 23:32:40 +01:00
otp.php Redirect to a one-time-password when ssl and regular server are different 2010-01-09 15:26:06 -08:00
outbox.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
passwordsettings.php Fix regression in password settings: users have been unable to change their passwords since introduction of ChangePassword event (later StartChangePassword) November 5 in commit d6ddb84132 2009-12-01 15:44:07 -08:00
pathsadminpanel.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
peoplesearch.php Bringing Sphinx search support up to code: broken out to a plugin, now supports multiple sites on a single server. 2009-11-10 13:44:40 -08:00
peopletag.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
postnotice.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
profilesettings.php clear profile location data if unparseable location string 2010-01-07 15:59:07 -08:00
public.php Fix feed links which were broken when the API was restructured 2009-10-29 19:09:42 -04:00
publicrss.php Output If-Modified-Since header for all RSS 1.0 feeds (again) 2009-09-24 15:10:55 -07:00
publictagcloud.php Ticket 2141: bugs with weighted popularity lists across year boundary. 2010-01-04 13:01:17 -08:00
publicxrds.php Moved the public XRDS from the OpenID plugin to core 2009-10-29 16:27:22 -04:00
recoverpassword.php Several updates to UI messages 2009-11-08 22:45:18 +01:00
register.php Merge branch 'sessionidparam' into 0.9.x 2010-01-11 00:45:26 -08:00
remotesubscribe.php Fix typo in UI string 2009-11-28 20:52:46 +01:00
repeat.php broadcast for repeats 2009-12-15 12:29:37 -05:00
replies.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
repliesrss.php Output If-Modified-Since header for all RSS 1.0 feeds (again) 2009-09-24 15:10:55 -07:00
requesttoken.php Response for request token doesn't contain omb_version 2009-09-13 00:01:23 -04:00
sandbox.php add sandbox and silence actions 2009-11-16 16:08:06 +01:00
showapplication.php Fix casing for HMAC-SHA1. 2010-01-14 23:37:06 +01:00
showfavorites.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
showgroup.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
showmessage.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
shownotice.php Fixes to bugs where non-local messages were being wrong put in the public timeline and public xmpp feed 2010-01-07 20:59:31 +00:00
showstream.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
silence.php add sandbox and silence actions 2009-11-16 16:08:06 +01:00
siteadminpanel.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
smssettings.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
subedit.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
subscribe.php correct check for error in subscribe and unsubscribe actions 2010-01-13 03:01:22 -08:00
subscribers.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
subscriptions.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
sup.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
tag.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
tagother.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
tagrss.php define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
twitapisearchatom.php Don't output notices from deleted users. 2010-01-06 13:40:28 -08:00
twitapisearchjson.php Bringing Sphinx search support up to code: broken out to a plugin, now supports multiple sites on a single server. 2009-11-10 13:44:40 -08:00
twitapitrends.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
unblock.php add events for unblocking a profile 2009-12-28 10:50:12 -08:00
unsandbox.php add sandbox and silence actions 2009-11-16 16:08:06 +01:00
unsilence.php add sandbox and silence actions 2009-11-16 16:08:06 +01:00
unsubscribe.php correct check for error in subscribe and unsubscribe actions 2010-01-13 03:01:22 -08:00
updateprofile.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
useradminpanel.php Left a form_data class of a <ul> in the user admin panel 2009-11-19 15:24:34 -08:00
userauthorization.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
userbyid.php (Puctuation) consistency in clientError() calls. 2009-12-13 18:55:17 +01:00
userdesignsettings.php Lots of tiny message changes. 2010-01-10 12:26:24 +01:00
usergroups.php * L10n updates: consistent puctuation 2010-01-10 01:45:58 +01:00
userrss.php Left a couple debugging statements in (removed) 2009-09-24 15:28:25 -07:00
version.php Add Brion Vibber to contributors. 2010-01-14 23:40:11 +01:00
xrds.php A further change to the XRDS is required if 0.9.x is to be able to remote sub to a 0.8.x account, with the OpenID plugin enabled. 2009-11-12 20:57:09 +00:00