Hello,
I updated yesterday to SVN version 1380 from an earlier SVN version
(don't know which one). I don't know if I am doing something wrong,
but since then, I can't sort messages by thread/author/date as I wish.
They're sorted by date by default and I see no way to change it
(previously it was done by clicking on "Subject" or "Sender".
Despite this, I would say that speed has improved a lot when showing
lots of mails, in comparison with the SVN release I had.
What can I do to solve this?
Regards,
Roger
_______________________________________________
List info: http://lists.roundcube.net/dev/
I wanted to compare the performance improvements of two promising patches:
Justin Heesemann's (on list: 2008.04.29)
http://detached.gigo.com/rc/gb/cCronKdx/performance-jh1.diff
and
A.L.E.C.'s r1363 sorting optimization (on list: 2008.05.08)
http://trac.roundcube.net/changeset/1363?format=diff&new=1363
<http://trac.roundcube.net/changeset/1363?format=diff&new=1363>
Our IMAP server (Courier) basically supports sorting, so I thought I
just disable the feature to simulatine a Non-Sorting IMAP server.
I did so, by removing 'SORT' from the config.
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE
THREAD=ORDEREDSUBJECT THREAD=REFERENCES */SORT/* QUOTA IDLE"
But after that, on RC's interface I can't click the list headers to
trigger sorting.
If I understand well RC should be able to sort anyway, if the IMAP
server can't
then on the PHP way.
I dig deeper, and found that in /program/steps/mail/func.inc (line 137)
in the *rcmail_message_list* function
there's something illogical for me:
if ($IMAP->get_capability('sort') && in_array($col, $a_sort_cols))
This way if the IMAP server doesn't support sorting RC does no sorting,
but it's not intended to be that way, right?
After removing the first condition everything worked OK with and without
IMAP sort.
So?
--
*Horváth Balázs* *Balázs Horváth*
Fejlesztési vezető Development Manager
WG Informatika Kft. WG Informatics Ltd.
H-1123 Budapest, Alkotás utca 53. (MOM Park, "D torony" II.em)
Mobil: +36/20-971-2904
E-mail: horvath.balazs(a)wgi.hu <mailto:horvath.balazs@wgi.hu>
Web: http://wgi.hu <http://wgi.hu?adid=145>
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/k7/eWr4B3jU/horvath_balazs.vcf
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hello,
When working with RC under IE, I've noticed that displaying messages
obtained through HttpRequest (for example when doing sort by column),
It takes quite long time in comparison to other browsers to generate
the output. It's also pretty hard on resources.
After doing some investigation, I've found out that most resource
consuming operation is appendChild to tbody of message list in
message_list.insert_row.
When I looked up the issue and asked here and there, It came out
that appending elements to other element first and then doing
single append of that element to document DOM gives quite
a performance advantage under IE (not so noticeable in other
browsers). Here's a test that somebody pointed me to:
http://m8y.org/tmp/table.xhtml
I did a few alterations to message list generation code
and It actually gave positive results.
Unfortunately when doing row appends off DOM, there are
problems with accessing certain nodes (IE stops parsing
js on these attempts). So I had to use getElementsByTagName
in a certain situation which is visible in patch below.
The patch below is only for purpose of showing the problem and
possible solution and it surely requires more work.
First part in php code contains also profiling code to show
the difference.
The same method could be applied to other lists (contact list
for example).
You can comment out contents of prepare_message_list and
flush_message_list to see how long it takes in case of
former code.
In my case it came from above 7 seconds down to 1.2 second.
I'm interested in Your opinions on this.
There are still other significant performance problems under IE,
like hangups when unloading page. I will try to investigate that issue
too...
diff -ur roundcube/program/include/rcube_json_output.php roundcube_test/program/include/rcube_json_output.php
--- roundcube/program/include/rcube_json_output.php 2008-05-19 13:19:16.000000000 +0200
+++ roundcube_test/program/include/rcube_json_output.php 2008-05-20 17:53:28.427890048 +0200
@@ -213,14 +213,18 @@
private function get_js_commands()
{
$out = '';
+ $out .= "timeslist = new Array();";
+ $out .= "time1 = new Date();\n";
if (sizeof($this->env))
$out .= 'this.set_env('.json_serialize($this->env).");\n";
-
+ $out .= "time2 = new Date();\ntimeslist[timeslist.length] = (time2 - time1);\n";
+ $out .= "time1 = new Date();\n";
foreach($this->texts as $name => $text) {
$out .= sprintf("this.add_label('%s', '%s');\n", $name, JQ($text));
}
-
+ $out .= "time2 = new Date();\ntimeslist[timeslist.length] = (time2 - time1);\n";
+ $out .= "time1 = new Date();\n";
foreach ($this->commands as $i => $args) {
$method = array_shift($args);
foreach ($args as $i => $arg) {
@@ -232,8 +236,11 @@
preg_replace('/^parent\./', '', $method),
implode(',', $args)
);
- }
+ }
+ $out .= "time2 = new Date();\ntimeslist[timeslist.length] = (time2 - time1);\n";
+
+ $out .= "times = '';\nfor (i=0; i < timeslist.length; i++) times = times+', '+timeslist[i];\nalert(times);\n";
return $out;
}
}
diff -ur roundcube/program/js/app.js roundcube_test/program/js/app.js
--- roundcube/program/js/app.js 2008-05-19 13:19:53.000000000 +0200
+++ roundcube_test/program/js/app.js 2008-05-20 18:05:14.679523480 +0200
@@ -373,7 +373,7 @@
}
// set eventhandler to message icon
- if ((row.icon = row.obj.cells[0].childNodes[0]) && row.icon.nodeName=='IMG')
+ if ((row.icon = row.obj.getElementsByTagName('TD')[0].getElementsByTagName('IMG')[0]))
{
var p = this;
row.icon.id = 'msgicn_'+row.uid;
@@ -3227,13 +3227,31 @@
}
};
+ this.prepare_message_list = function()
+ {
+ this.message_list.init_off_list();
+ };
+
+ this.flush_message_list = function()
+ {
+ this.message_list.flush_off_list();
+ };
+
// create a table row in the message list
this.add_message_row = function(uid, cols, flags, attachment, attop)
{
if (!this.gui_objects.messagelist || !this.message_list)
return false;
- var tbody = this.gui_objects.messagelist.tBodies[0];
+ if (this.message_list.off_list)
+ {
+ var tbody = this.message_list.off_list;
+ }
+ else
+ {
+ var tbody = this.gui_objects.messagelist.tBodies[0];
+ }
+
var rowcount = tbody.rows.length;
var even = rowcount%2;
diff -ur roundcube/program/js/list.js roundcube_test/program/js/list.js
--- roundcube/program/js/list.js 2008-05-19 13:19:53.000000000 +0200
+++ roundcube_test/program/js/list.js 2008-05-20 17:02:33.975237432 +0200
@@ -28,6 +28,7 @@
this.DELETE_KEY = 46;
this.list = list ? list : null;
+ this.off_list = null
this.frame = null;
this.rows = [];
this.selection = [];
@@ -145,13 +146,30 @@
this.rows[uid] = null;
},
+init_off_list: function()
+{
+ this.off_list = document.createElement('TBODY');
+},
+
+flush_off_list: function()
+{
+ this.list.replaceChild(this.off_list, this.list.tBodies[0]);
+ this.off_list = null;
+},
/**
*
*/
insert_row: function(row, attop)
{
- var tbody = this.list.tBodies[0];
+ if (this.off_list)
+ {
+ var tbody = this.off_list;
+ }
+ else
+ {
+ var tbody = this.list.tBodies[0];
+ }
if (attop && tbody.rows.length)
tbody.insertBefore(row, tbody.firstChild);
diff -ur roundcube/program/steps/mail/func.inc roundcube_test/program/steps/mail/func.inc
--- roundcube/program/steps/mail/func.inc 2008-05-19 13:19:56.000000000 +0200
+++ roundcube_test/program/steps/mail/func.inc 2008-05-20 16:46:58.855397256 +0200
@@ -310,6 +310,8 @@
$OUTPUT->command('set_message_coltypes', $a_show_cols);
+ $OUTPUT->command('prepare_message_list');
+
// loop through message headers
foreach ($a_headers as $n => $header)
{
@@ -355,6 +357,8 @@
preg_match("/multipart\/m/i", $header->ctype),
$insert_top);
}
+
+ $OUTPUT->command('flush_message_list');
}
_______________________________________________
List info: http://lists.roundcube.net/dev/
sorry i not know if I sent you the last small fix, but in case dispatch again, thank you
Change Log
Spell in: $labels['longjul'] = 'Julho';
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/Mw/MWMVEMOp/labels.inc
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi dev
sorry smoll fix
and added Author Nuno Costa
Best regards
_______________________________________________
List info: http://lists.roundcube.net/dev/
Nuno Costa
nuno(a)criacaoweb.net
Best Regards
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/rH/UrdMN25D/labels.inc
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hello, Im new to Roundcube.
Is there any solution to limit the number of recipients?
I even cant find where to get it limited, i tried to edit
rcube_smtp.inc and wrote:
if (count($recipients) > 10) {
smtp_reset();
$response[] .= "Too many recipients";
return FALSE;
}
Just before the line: (around line 170)
//set recipients
foreach($recipients as $recipient)
Thank you!
Janeszka
-------------------------
Ingyen 2GB tárhely, csak a Levelem.net -nél.
Spam- és virusszűrés!
Egyedi inteligens webmail.
Gyere és próbáld ki te is!
www.levelem.net [1]
Links:
------
[1] http://www.levelem.net
_______________________________________________
List info: http://lists.roundcube.net/dev/
Greetings,
I've just noticed that the portupgrade roundcube's port overwrites the
existing db.inc.php and mail.inc.php, resetting everything to the default.
No checks were made and I had to reconfigure everything from the scratch.
Thought this might be unintentional, as the default behavior for FreeBSD
port upgrade scripts is to keep existing configs.
Best regards,
Vahan
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi,
Where is RoundCube headed as far as spell check in the HTML editor is
concerned?
There are two tickets in trac that seem to be somewhat at cross
purposes:
http://trac.roundcube.net/ticket/1484196
Suggests having TinyMCE's spell check button obey the spell check URI
from RC's config file. Also, Thomas suggests that the RC spell check
button might be able to invoke TinyMCE's spell check.
http://trac.roundcube.net/ticket/1484747
Reduced the number of buttons available in TinyMCE, including
removing the spell check button. It was suggested that Firefox and
Safari both do spell checking so it wasn't needed.
Unfortunately, IE does not do spell checking like Firefox and Safari,
so without TinyMCE's spell checking, those users don't have a way to
spell check their HTML messages.
Since Firefox and Safari's built in spell checking applies equally to
the plain text editor and the HTML editor, it seems to me that if
spell checking is worth having in one, it's worth having in the other.
But during the upgrade to TinyMCE 3.0.6 in r1308 in SVN, a number of
files used by TinyMCE's spell check are now gone. If RoundCube is to
use TinyMCE's spell check, we would have to start by making sure the
spell check plugin is present in SVN.
Thanks,
James E. Blair
Principal Email Systems Administrator
UC Berkeley - IST
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi!
One Debian user reported [0] that index.php contains the BSD license at
the top of the file while citing GPL license. Could you please correct
this in SVN?
Thanks.
[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477119
--
Choose variable names that won't be confused.
- The Elements of Programming Style (Kernighan & Plauger)
_______________________________________________
List info: http://lists.roundcube.net/dev/
Attached - the updated Bulgarian labels.inc
BTW - aren't we able to get the short/long month names using PHPs
builtin functions?
Kind regards,
Doichin
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/du/SWjy3ce1/labels.inc
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
I don't seem to be making any headwinds into the mysterious eml files are
unreadable error.
Do you have any suggestions on where I might start looking. I keep thinking
it is a MIME error, but I don't see anything wrong.
Thanks,
Jason
_______________________________________________
List info: http://lists.roundcube.net/dev/
The next small but great speed improvement for sorting. It shortens the
time of sorting operation to 1/2-1/3 of the former time on servers
without sort capability. I've made some test on 5k messages box and
currenty php sorting is a little faster than imap (dovecot) sorting ;)
Just wanna let you to know.
--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.org.pl
Roundcube Webmail Project Developer http://roundcube.net
_______________________________________________
List info: http://lists.roundcube.net/dev/
I've written a patch to add a "Copy To..." function to the message
view, as suggested in ticket #1484086. I just slapped got another
<SELECT> control in next to the existing "Move To..." control -- I'd
be happy to hear other suggestions for interface layout.
A patch against 0.1.1 is available at:
http://zinux.cynicbytrade.com/svn/local/roundcube/copyto.diff
I've also got 90% of the support needed for drag-and-drop copy-- it
works if I replace the default moveto action with my new copyto action
-- but I couldn't figure out how to check for modifier keys to do
something like "Copy when ctrl is down, move otherwise". If anyone
could point me in the right direction for checking the state of
modifier keys at the end (or beginning) of a drag event I'd appreciate
it.
Zach
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/tJ/njZcQmai/smime.p7s
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
pete wrote on 06 Apr 2008 11:09:50 +0200:
> there is a missing ';' in the mysql.update.sql command file, at the end
> of line 7.
I just noticed that the tar.gz was re-rolled for this. I think this
happened with a previous release too, and it makes life difficult
for OS packagers. Please would it be possible if the filename or,
better still, the version number, could be adjusted if this is done?
Thanks very much.
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi ! There's a bug(some kind of) in all RCWM versions.
If you are using RCWM and MTA on the same machine then postfix(for example)
isn't asking the saslauth daemon
that the user is authenticated(because the process is running on the
localhost) - it depends on the client restrictions.
If the user changes the identity to another account located on the server
then he can easily send messages using unauthorized e-mail address.
For example foo(a)foobar.com is able to send e-mails via the
foobar(a)foobar.com acoount without authentication
To avoid the users to change the identity you could use my suggested patch.
You can find it at
http://gorzow-wlkp.eu/~warlock/rcwm-0.1.1-identity-fix.patch Simply, go to
the RCWM directory and type:
patch -p0 < rcwm-0.1.1-identity-fix.patch
BTW: SORRY for my lame eng.
_______________________________________________
List info: http://lists.roundcube.net/dev/
Hi ,
I think this must be a configuration issue, but I am not able to read any forwarded messages that are sent as attachments.
All I get is the "Subject" "To" "From" and "Time"
I can read any other attachements and everything else is working beautifully.
any suggestions on where to start ?
Thanks,
Jason Levine
Wired Hosting
925 570-4886
_______________________________________________
List info: http://lists.roundcube.net/dev/
To find out more about Twitter, visit the link below:
http://twitter.com/i/334a0182a0788dc095c252c5ca66a224ae7ae2fb
Thanks,
-The Twitter Team
About Twitter
Twitter is a unique approach to communication and networking based on the simple concept of status. What are you doing? What are your friends doing—right now? With Twitter, you may answer this question over SMS, IM, or the Web and the responses are shared between contacts.
_______________________________________________
List info: http://lists.roundcube.net/dev/
here's a small patch for 0.1.1
for large imap folders when the imap server supports sorting the speed
increase is vast. on my very slow epia box it took 90+ seconds to browse my
14k email inbox (only showing the first 40!).
after the patch down to about 6 seconds.
there's a fix to rep_specialchars_output as well, as at least php5.2.5 seemed
to always recreate the js_rep_table (which takes a lot of time, about 3
seconds or so on my slow system)
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/gb/cCronKdx/performance-jh1.diff
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
I see that there're many options in config which should be accessible
via user preferences. I.e.:
read_when_deleted, flag_for_deletion, mdn_requests, message_sort_col,
message_sort_order, list_cols. I want to add them there. Any objections?
Second question: Now we have two sections there: UI settings and server
settings. Maybe we should split preferences in different way, any
suggestions?
--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.org.pl
Roundcube Webmail Project Developer http://roundcube.net
_______________________________________________
List info: http://lists.roundcube.net/dev/
I took the 30 seconds of time to translate the last remaining strings
for Norwegian.
Would be nice to see this added, though it's not in a hurry.
Thor.
--- 8< --- detachments --- 8< ---
The following attachments have been detached and are available for viewing.
http://detached.gigo.com/rc/C3/ZTUS35UF/labels.inc
Only click these links if you trust the sender, as well as this message.
--- 8< --- detachments --- 8< ---
_______________________________________________
List info: http://lists.roundcube.net/dev/
Thought it would be a nice feature if it would be possible to select
a second database while installation which holds a virtual user table
with passwords. I think at least half of the most mailserver
administrators are having their virtual user information stored in a
sql database holding their passwords as md5 hashs.
I think it should be possible to let them enter a second db,
tablename and check a checkbox to let a logged in User be able to change
his password in the settings. This should increase the flexibility
of this system for users at least a small bit and I think it should be
worth the effort.
I would like to hear feedback about this just in case there is real
interest in this.
_______________________________________________
List info: http://lists.roundcube.net/dev/