Commit Graph

7582 Commits

Author SHA1 Message Date
Sarven Capadisli 6cfe5b5a3b Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-26 01:29:10 +01:00
Sarven Capadisli 9bacdb9134 Updated howto create a theme 2010-01-26 01:16:15 +01:00
Sarven Capadisli 23e96dd4d1 Added version info for MobileProfile plugin 2010-01-26 01:16:02 +01:00
Sarven Capadisli 6ae453bb7d Fixed innerHTML problem in IE7 and 8 for badge script 2010-01-26 01:15:39 +01:00
Sarven Capadisli 72ae0ecc1c Removed mobile stylesheet from core output. If Mobile support is
seeked, MobileProfile plugin should be used.
2010-01-26 01:15:30 +01:00
Sarven Capadisli 2f74a9bf14 Better alignment for notice options in MobileProfile 2010-01-26 01:15:20 +01:00
Sarven Capadisli 1406cc452f 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-26 01:15:07 +01:00
Sarven Capadisli dbb44ca39a Missing null className for incoming email form legend 2010-01-26 01:14:47 +01:00
Sarven Capadisli b1a4ccb4df Updated path to farbtastic stylesheet 2010-01-26 01:14:33 +01:00
Sarven Capadisli a93a3cc270 Moved farbtastic's stylesheet to use relative paths for its own images 2010-01-26 01:14:22 +01:00
Sarven Capadisli 14c3ec73b9 Updated UI for notice aside content and notice options in MobileProfile 2010-01-26 01:13:53 +01:00
Sarven Capadisli 83eef607f1 Inline script for maxlength is deprecated 2010-01-26 01:13:29 +01:00
Sarven Capadisli e9a155db73 Using visibility:hidden instead of display:none for checkbox 2010-01-26 01:12:39 +01:00
Sarven Capadisli 591c5037a7 An update to geolocation cookie to use a single file and set the
expiry date to 30 days from now.
2010-01-26 01:12:06 +01:00
Brion Vibber a7a0041a11 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-26 00:25:20 +01:00
Sarven Capadisli a35c52b6be Some JS cleaning up for NoticeLocationAttach (which fixes also fixes a
few bugs in WebKit)
2010-01-26 00:25:13 +01:00
Sarven Capadisli 2e643071ff 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-26 00:25:06 +01:00
Sarven Capadisli f9cc3e6d94 Added missing position paramater 2010-01-26 00:24:57 +01:00
Sarven Capadisli cae2429d12 JSLinting on JSON 2010-01-26 00:24:44 +01:00
Evan Prodromou e26a843caf Offload inbox updates to a queue handler to speed up posting online
Moved much of the writing that happens when posting a notice to a new
queuehandler, distribqueuehandler. This updates tags, groups, replies
and inboxes at queue time (or at Web time, if queues are disabled).

To make this work well, I had to break up the monolithic
Notice::blowCaches() and make cache blowing happen closer to where
data is updated.

Squashed commit of the following:

commit 5257626c62750ac4ac1db0ce2b71410c5711cfa3
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 14:56:41 2010 -0500

    slightly better handling of blowing tag memory cache

commit 8a22a3cdf6ec28685da129a0313e7b2a0837c9ef
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:42:56 2010 -0500

    change 'distribute' to 'distrib' so not too long for dbqueue

commit 7a063315b0f7fad27cb6fbd2bdd74e253af83e4f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:39:15 2010 -0500

    change handle_notice() to handle() in distributqueuehandler

commit 1a39ccd28b9994137d7bfd21bb4f230546938e77
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 16:05:25 2010 -0500

    error with queuemanager

commit e6b3bb93f305cfd2de71a6340b8aa6fb890049b7
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:11:34 2010 -0500

    Blow memcache at different point rather than one big function for Notice class

commit 94d557cdc016187d1d0647ae1794cd94d6fb8ac8
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 00:48:44 2010 -0500

    Blow memcache at different point rather than one big function for Notice class

commit 1c781dd08c88a35dafc5c01230b4872fd6b95182
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 20 08:54:18 2010 -0500

    move broadcasting and distributing to new queuehandler

commit da3e46d26b84e4f028f34a13fd2ee373e4c1b954
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 20 08:53:12 2010 -0500

    Move distribution of notices to new distribute queue handler
2010-01-25 18:08:21 -05:00
Brion Vibber f3beed6889 Fix presence notification on XMPP thread (now foreground, not background) 2010-01-25 13:49:02 -08:00
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
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
Brion Vibber a66181c900 Fix unqueuemanager for updated QueueHandler interface 2010-01-22 14:06:20 -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
Evan Prodromou a3e484a0e8 Memcached_DataObject unnecessarily require_once'd itself 2010-01-22 10:46:11 -05: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
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
Brion Vibber 906450e2f5 DEBUG HACK: error checking for xml_parse in XMPPHP input stream 2010-01-20 08:37:58 -08:00
Brion Vibber 71df23642c Extra debug instrumentation for xmppdaemon 2010-01-19 12:26:59 -08: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
Brion Vibber 775c63b654 Cleanup for memcached host/port split -- apparently we use ';' on purpose, restoring. Keeping fix for the notices spewing into the log. 2010-01-16 13:39:05 -08:00
Brion Vibber faedddaa81 Merge branch 'master' of gitorious.org:statusnet/mainline 2010-01-16 13:37:49 -08:00
Evan Prodromou 21c3e08804 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-16 07:48:59 -08:00
Evan Prodromou d6b8b13116 change rc3 to beta3 2010-01-16 07:48:46 -08:00