Commit Graph

7849 Commits

Author SHA1 Message Date
Brion Vibber cb07fd29a3 Use new StatusNetwork->serverName() to get full domain for wildcard config until we rebuild queues to be based on nicknames.
Fixes live bug with new *.status.net sites breaking queuedaemon.php
2010-01-24 16:01:19 -08:00
Evan Prodromou 49d500e3e1 defaults for nickname and wildcard 2010-01-24 16:01:08 -08:00
Evan Prodromou 8dce24c82c save nickname and wildcard when setting up status network 2010-01-24 16:01:00 -08:00
Brion Vibber 60ce2ff3d0 Use new StatusNetwork->serverName() to get full domain for wildcard config until we rebuild queues to be based on nicknames.
Fixes live bug with new *.status.net sites breaking queuedaemon.php
2010-01-24 15:44:09 -08:00
Evan Prodromou 7cd666ae92 defaults for nickname and wildcard 2010-01-24 18:19:13 -05:00
Evan Prodromou 238998eca0 save nickname and wildcard when setting up status network 2010-01-24 18:18:24 -05:00
Evan Prodromou 3f5ffe5c5b set correct key types for User_flag_profile 2010-01-24 15:57:56 -05:00
Evan Prodromou b91a035025 add function doc comment to User_flag_profile::create() 2010-01-24 11:20:08 -05:00
Sarven Capadisli 38fe4ad958 Added version info for MobileProfile plugin 2010-01-24 15:34:40 +01:00
Sarven Capadisli fed111f08a Removed mobile stylesheet from core output. If Mobile support is
seeked, MobileProfile plugin should be used.
2010-01-24 00:25:31 +01:00
Sarven Capadisli 51775e38ba Better alignment for notice options in MobileProfile 2010-01-24 00:23:14 +01:00
Sarven Capadisli e3ee5663ab 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-24 00:23:01 +01:00
Sarven Capadisli c3ee1af7be Missing null className for incoming email form legend 2010-01-24 00:22:35 +01:00
Sarven Capadisli c367e09d11 Some JS cleaning up for NoticeLocationAttach (which fixes also fixes a
few bugs in WebKit)
2010-01-24 00:21:42 +01:00
Sarven Capadisli 0f3658d3da Updated path to farbtastic stylesheet 2010-01-24 00:21:14 +01:00
Sarven Capadisli f92a9dad8c Moved farbtastic's stylesheet to use relative paths for its own images 2010-01-24 00:21:01 +01:00
Sarven Capadisli 940fc463c8 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-24 00:20:48 +01:00
Sarven Capadisli 2742494fe8 Updated UI for notice aside content and notice options in MobileProfile 2010-01-24 00:20:36 +01:00
Sarven Capadisli 37e642bece Inline script for maxlength is deprecated 2010-01-24 00:20:11 +01:00
Sarven Capadisli 2a1ab137cc Using visibility:hidden instead of display:none for checkbox 2010-01-24 00:19:09 +01:00
Sarven Capadisli f043bc62a5 Added missing position paramater 2010-01-24 00:18:52 +01:00
Sarven Capadisli 68c864c95a JSLinting on JSON 2010-01-24 00:18:39 +01:00
Sarven Capadisli ab53a8704b Some JSlint-ing 2010-01-24 00:18:05 +01:00
Sarven Capadisli 414c80a18d Removed extra comma in object 2010-01-24 00:17:37 +01:00
Craig Andrews fa218ec65d Revert "Drop the Google Client API-based AJAX geolocation lookup shim -- it fails to ask for user permission, causing us quite a bit of difficulty."
This reverts commit 749b8b5b8c.
2010-01-24 00:17:19 +01:00
Sarven Capadisli e7c26eb443 Styles for image max width/height and radio form controls 2010-01-24 00:14:57 +01:00
Sarven Capadisli cae113941d Added key icon for application key and secret rest action 2010-01-24 00:14:51 +01:00
Sarven Capadisli f3c732587c Styles for application list 2010-01-24 00:14:42 +01:00
Sarven Capadisli aaa2dd2712 Styles for application details page 2010-01-24 00:14:31 +01:00
Sarven Capadisli 51fdba09d4 Event hooks for before and after site_notice 2010-01-24 00:14:19 +01:00
Brion Vibber a4d733b68d Fix for PoweredByStatusNetPlugin to be localizable (was broken for non-English word order)
(Note the .po files will have to be added manually for now as we haven't set TranslateWiki up for plugins I think)
2010-01-22 15:04:53 -08:00
Brion Vibber a66181c900 Fix unqueuemanager for updated QueueHandler interface 2010-01-22 14:06:20 -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 6e4cad71e5 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:52:56 -08:00
Brion Vibber c7507e7e9d 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.

Conflicts:

	scripts/xmppdaemon.php
2010-01-22 12:52:36 -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 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
Evan Prodromou a3e484a0e8 Memcached_DataObject unnecessarily require_once'd itself 2010-01-22 10:46:11 -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 0bb23e6fd7 drop debug line from xmppdaemon.php, we're done debugging that 2010-01-21 16:34:26 -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
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
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
Evan Prodromou 4175ec7c6e update changes in README 2010-01-20 17:49:13 -05:00