Commit Graph

7688 Commits

Author SHA1 Message Date
Craig Andrews 845f051c2f StompQueueManager uses decode() to decode queued frames 2010-01-22 18:02:05 -05:00
Brion Vibber b157fcbba3 Merge branch 'testing' into 0.9.x 2010-01-22 14:07:40 -08:00
Brion Vibber 71b3b9ee2b Consolidate PuSH publishing ping into a single POST for all feeds, and fix server response (if any on failure) to go to log instead of stdout. 2010-01-22 14:03:24 -08:00
Brion Vibber 6d055ce09e Fix unqueuemanager for updated QueueHandler interface 2010-01-22 13:49:05 -08:00
Brion Vibber aa038fa9cb Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-01-22 12:59:52 -08:00
Brion Vibber 99866a459b Fix for stuck queue messages: wrap processing in stomp transactions so our lack of an ACK if PHP dies actually triggers redelivery.
Previously, messages once delivered would just get stuck in the queue seemingly forever if they never got ACKed.
Note this could lead to partial duplication, for instance if the OMB or Twitter queue handlers die after 1/2 of the outgoing sends.

Recommendations:
* catch exceptions more aggressively within queue handlers (so only PHP fatal errors are likely to kill in the middle)
* for processing that involves sending to multiple clients, consider a second queue similar to the XMPP output, eg for OMB:
 - first queue gets delivery list and builds message data, enqueueing it for each target address
 - second queue can handle each individual outgoing message (and attempt redelivery etc separately)

This would also protect better against a recurring error preventing delivery in the second part, and could spread out any slow sends over multiple threads.
2010-01-22 12:35:05 -08:00
Sarven Capadisli 8bf2a9046b Fixed innerHTML problem in IE7 and 8 for badge script 2010-01-22 21:08:51 +01:00
Evan Prodromou d25bd9b292 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-22 14:19:08 -05:00
Evan Prodromou c8bc598cfd Merge branch 'testing' into 0.9.x 2010-01-22 14:18:43 -05:00
Evan Prodromou e666433eb4 Merge branch 'master' into 0.9.x 2010-01-22 14:18:40 -05:00
Evan Prodromou 29d83c8ca9 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-01-22 14:18:21 -05:00
Evan Prodromou 104d300799 do actual language negotiation for help docs 2010-01-22 14:13:28 -05:00
Evan Prodromou 9f815c968f restructure doc.php for new use 2010-01-22 13:53:53 -05:00
Evan Prodromou df9b780706 action/doc.php is PHPCS clean 2010-01-22 13:53:53 -05:00
Sarven Capadisli 00547ca898 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-22 19:19:02 +01:00
Sarven Capadisli c9aafe2d4f Fixed innerHTML problem in IE7 and 8 for badge script 2010-01-22 19:18:14 +01:00
Eric Helgeson b7940ef39f Fix unqueuemanager to work with new Queue layout pushed in 0e852def6a
"* Queue handlers should now define a handle() method instead of handle_notice()"

And Queue managers should call handle() :)
2010-01-22 11:02:23 -05:00
Evan Prodromou a3e484a0e8 Memcached_DataObject unnecessarily require_once'd itself 2010-01-22 10:46:11 -05:00
Craig Andrews 7be5e7e524 stupid mistake... let's not talk about this. 2010-01-22 10:40:21 -05:00
Craig Andrews 672126968f Updated some references to the long gnone "isEnclosure" function to the new "getEnclosure" 2010-01-22 10:12:26 -05:00
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
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