Lets say you have a search return 5000 results. Depending on RoundCube's refresh interval, it sends a "check-recent" or "list" or "refresh" message back, to update the list. However, the request that is sent, via GET, back to apache exceeds 8190 bytes and apache returns a HTTP 414 (request URI too long).
The request looks something like: GET /mail/?_task=mail&_mbox=Folder1%2FFolder2%2FFolder3%2FFolder4&_folderlist=1&search=advanced_search_active&_list=1&_uids=1234__MB__afafafafafafafafafafafaf%2C1235__MB__fefefefefefefefefefefefef%2c......
and the number__MB__msgID part repeats for however many message there were. It looks like Advanced Search is sending a list of every message UID that it wants to refresh instead of just resending the search query.
I believe one fix is to change RoundCube the js/app.js code in the function this.list_mailbox_remote = function(mbox, page, post_data) to use this.http_post instead of this.http_request. But this still ends up sending megabytes of data back on every refresh via the list action. I am curious if you believe that there is a better way for Advanced Search to handle refreshing the message list.
I am using apache, and requests are limited to 8190 bytes (coded in the source): http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline
Lets say you have a search return 5000 results. Depending on RoundCube's refresh interval, it sends a "check-recent" or "list" or "refresh" message back, to update the list. However, the request that is sent, via GET, back to apache exceeds 8190 bytes and apache returns a HTTP 414 (request URI too long).
The request looks something like:
GET /mail/?_task=mail&_mbox=Folder1%2FFolder2%2FFolder3%2FFolder4&_folderlist=1&search=advanced_search_active&_list=1&_uids=1234__MB__afafafafafafafafafafafaf%2C1235__MB__fefefefefefefefefefefefef%2c......
and the
number__MB__msgID
part repeats for however many message there were. It looks like Advanced Search is sending a list of every message UID that it wants to refresh instead of just resending the search query.I believe one fix is to change RoundCube the
js/app.js
code in the functionthis.list_mailbox_remote = function(mbox, page, post_data)
to usethis.http_post
instead ofthis.http_request
. But this still ends up sending megabytes of data back on every refresh via thelist
action. I am curious if you believe that there is a better way for Advanced Search to handle refreshing the message list.