Commit Graph

8319 Commits

Author SHA1 Message Date
Brion Vibber
0e852def6a 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 22:40:35 -08:00
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
Brion Vibber
d412df18f7 Merge branch 'testing' into 0.9.x 2010-01-21 16:34:49 -08:00
Brion Vibber
0bb23e6fd7 drop debug line from xmppdaemon.php, we're done debugging that 2010-01-21 16:34:26 -08:00
Brion Vibber
c9c7bb3234 Merge commit 'origin/testing' into 0.9.x 2010-01-21 16:33:11 -08:00
Brion Vibber
4b0f953ccf Quick hack to avoid breaking with geonames off when there's some old cookie state. This code's a little rough and tumble; any breakage halts JS execution and leaves the spinner going and no message submitted. 2010-01-21 16:30:03 -08:00
Siebrand Mazeland
dcba613322 Localisation updates for !StatusNet from !translatewiki.net !sntrans 2010-01-21 23:45:09 +01:00
Zach Copley
308442407e - Moved checking for group aliases and redirection to prepare()
- phpcs cleanup
- add @macno to the list of authors
2010-01-21 11:37:20 -08:00
Brion Vibber
8dafe09ab2 Option to log slow db queries or all db queries
$config['db']['log_queries'] = true; // all
$config['db']['log_slow_queries'] = 10; // queries taking > 10 seconds
2010-01-21 11:07:52 -08:00
Michele
383703d170 if the id is an alias we redirect using group_id 2010-01-21 10:39:07 -08:00
Evan Prodromou
1d64ba6602 Unimplement retweeted_by_me API action until we have a more efficient query 2010-01-21 11:38:08 -05:00
Evan Prodromou
e5eb95ab59 retweet API methods are readonly 2010-01-21 11:32:01 -05:00
Sarven Capadisli
373206ac00 Event hooks for before and after site_notice 2010-01-21 16:49:49 +01:00
Sarven Capadisli
d4fcc8777f Removed mobile stylesheet from core output. If Mobile support is
seeked, MobileProfile plugin should be used.
2010-01-21 13:23:04 +01:00
Rajat Upadhyaya
6e405facca Fix to update user's fullname & homepage only if requested. 2010-01-21 09:27:00 +05:30
Zach Copley
fd276ff9e7 Add Start/EndSetApiUser events when setting API user via OAuth 2010-01-20 18:01:07 -08:00
Michele
05156b708a HTTP auth provided is evaluated even if it's not required 2010-01-20 17:55:37 -08:00
Evan Prodromou
c63832f7bf add PubSubHubBub and RSSCloud to list of default plugins 2010-01-20 17:58:23 -05:00
Evan Prodromou
a254947a47 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-20 17:55:03 -05:00
Evan Prodromou
4175ec7c6e update changes in README 2010-01-20 17:49:13 -05:00
Evan Prodromou
9e3013c6b6 mark retweet api actions read-only where applicable 2010-01-20 17:00:42 -05:00
Evan Prodromou
10f21e1f41 add class and function doc comments to PuSH plugin 2010-01-20 16:37:41 -05:00
Evan Prodromou
0167ff6d27 whitespace changes to make phpcs happy for PuSH plugin 2010-01-20 16:29:11 -05:00
Evan Prodromou
1d37a6c428 correctly get replies for a notice in PuSH plugin 2010-01-20 16:16:22 -05:00
Evan Prodromou
365b0b1e14 use standard plugin configuration for PubSubHubBub 2010-01-20 16:13:52 -05:00
Evan Prodromou
7679f058ef Revert "DEBUG HACK: error checking for xml_parse in XMPPHP input stream"
This reverts commit 906450e2f5.

1) It was a quick debug hack 2) it doesn't meet the requirements
for changing extlib/ libraries
2010-01-20 15:56:24 -05:00
Evan Prodromou
2a3cb86e29 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-20 15:51:55 -05:00
Evan Prodromou
dbccebb14b update friends, not user, timeline for recipients of notice in PuSH plugin 2010-01-20 15:43:24 -05:00
Sarven Capadisli
6815ddafe0 Better alignment for notice options in MobileProfile 2010-01-20 18:50:48 +01:00
Sarven Capadisli
b87c80e0a9 Updated notice item view where a) notice text no longer wraps around
(under author's photo) b) supplemental notice content and options will
start right under notice text.
2010-01-20 18:32:24 +01:00
Brion Vibber
906450e2f5 DEBUG HACK: error checking for xml_parse in XMPPHP input stream 2010-01-20 08:37:58 -08:00
Siebrand Mazeland
b0be2da0ca Localisation updates for !StatusNet from !translatewiki.net !sntrans 2010-01-20 00:58:11 +01:00
Brion Vibber
71df23642c Extra debug instrumentation for xmppdaemon 2010-01-19 12:26:59 -08:00
Evan Prodromou
dd0a99f58a Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-19 00:32:05 -05:00
Evan Prodromou
01dc77c2fd Merge branch 'master' into 0.9.x 2010-01-19 00:31:42 -05:00
Evan Prodromou
c7f14cd777 allow all rights reserved, private data 2010-01-19 00:04:58 -05:00
Evan Prodromou
42a47a7719 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-18 23:26:03 -05:00
Evan Prodromou
71f519f64a add event for showing content license in action 2010-01-18 23:25:45 -05:00
Eric Helgeson
0ddfcc5521 Added Plugin Version info to recaptcha plugin 2010-01-18 18:33:09 -05:00
Siebrand Mazeland
d29a791fff Localisation updates for !StatusNet from !translatewiki.net !sntrans 2010-01-19 00:24:53 +01:00
Brion Vibber
ae9f2bf187 add a quickie plugins/ dir readme mentioning how to add plugins, plus ref to wiki pages 2010-01-18 09:37:42 -08:00
Brion Vibber
3bf4056055 Fix order of params on 'plugin not found' exception 2010-01-18 09:28:58 -08:00
Sarven Capadisli
d501acf438 Missing null className for incoming email form legend 2010-01-18 17:17:02 +00:00
Sarven Capadisli
42601b1ff0 Some JS cleaning up for NoticeLocationAttach (which fixes also fixes a
few bugs in WebKit)
2010-01-18 12:55:14 +00:00
Sarven Capadisli
187a70873a Updated path to farbtastic stylesheet 2010-01-18 11:29:05 +00:00
Sarven Capadisli
602dbb5f87 Moved farbtastic's stylesheet to use relative paths for its own images 2010-01-18 11:12:05 +00:00
Sarven Capadisli
4978810c81 Took out focus out of textare when location share is enabled/disabled.
Also avoids the conflict with the URL fragment on the conversation page.
2010-01-17 22:31:47 +00:00
Sarven Capadisli
3f589da243 Updated UI for notice aside content and notice options in MobileProfile 2010-01-17 19:45:35 +00:00
Sarven Capadisli
07de97a103 Inline script for maxlength is deprecated 2010-01-17 14:04:47 +00:00
Eric Helgeson
e3dc45d103 Merge commit 'refs/merge-requests/117' of git://gitorious.org/statusnet/mainline into integration 2010-01-16 17:42:53 -05:00