From 95491f0886228da853fd48257e1dfabc400bbea1 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Thu, 22 May 2014 19:00:49 +0200 Subject: [PATCH] Don't write session data when fetching events/tasks --- plugins/calendar/drivers/kolab/kolab_calendar.php | 3 +++ plugins/calendar/drivers/kolab/kolab_user_calendar.php | 3 +++ plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php | 6 ++++++ plugins/tasklist/tasklist.js | 2 +- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php index 3e5d28ae..79df28a2 100644 --- a/plugins/calendar/drivers/kolab/kolab_calendar.php +++ b/plugins/calendar/drivers/kolab/kolab_calendar.php @@ -302,6 +302,9 @@ class kolab_calendar extends kolab_storage_folder_api } } + // avoid session race conditions that will loose temporary subscriptions + $this->cal->rc->session->nowrite(); + return $events; } diff --git a/plugins/calendar/drivers/kolab/kolab_user_calendar.php b/plugins/calendar/drivers/kolab/kolab_user_calendar.php index 1ab86790..dc9bcf76 100644 --- a/plugins/calendar/drivers/kolab/kolab_user_calendar.php +++ b/plugins/calendar/drivers/kolab/kolab_user_calendar.php @@ -222,6 +222,9 @@ class kolab_user_calendar extends kolab_calendar } } + // avoid session race conditions that will loose temporary subscriptions + $this->cal->rc->session->nowrite(); + return $events; } diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php index 50fa3714..90c3048f 100644 --- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php +++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php @@ -481,6 +481,9 @@ class tasklist_kolab_driver extends tasklist_driver } } + // avoid session race conditions that will loose temporary subscriptions + $this->plugin->rc->session->nowrite(); + return $counts; } @@ -537,6 +540,9 @@ class tasklist_kolab_driver extends tasklist_driver } } + // avoid session race conditions that will loose temporary subscriptions + $this->plugin->rc->session->nowrite(); + return $results; } diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js index 75ba3862..76d50d5e 100644 --- a/plugins/tasklist/tasklist.js +++ b/plugins/tasklist/tasklist.js @@ -164,7 +164,7 @@ function rcube_tasklist_ui(settings) var prop = { id:p.id, active:list.active?1:0 }; if (list.subscribed) prop.permanent = 1; rcmail.http_post('tasklist', { action:'subscribe', l:prop }); - setTimeout(function(){ list_tasks(); }, 500); + list_tasks(); } });