From ff92db4e339fc9d626464ad1aa463c21315f831a Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 9 Jul 2021 07:46:01 +0200 Subject: [PATCH] release session in non-json.php requests like lang.php, as it blocks parallel execution --- api/avatar.php | 3 +++ api/categories.php | 3 +++ api/config.php | 3 +++ api/images.php | 3 +++ api/lang.php | 2 ++ api/user.php | 3 +++ 6 files changed, 17 insertions(+) diff --git a/api/avatar.php b/api/avatar.php index dbe473a48b..cae76002f9 100644 --- a/api/avatar.php +++ b/api/avatar.php @@ -25,6 +25,9 @@ $GLOBALS['egw_info'] = array( include '../header.inc.php'; +// release session, as we dont need it and it blocks parallel requests +$GLOBALS['egw']->session->commit_session(); + $contacts = new Api\Contacts(); $contacts->photo(); \ No newline at end of file diff --git a/api/categories.php b/api/categories.php index 578d6f1c7b..3973f08cf1 100644 --- a/api/categories.php +++ b/api/categories.php @@ -26,6 +26,9 @@ $GLOBALS['egw_info'] = array( include '../header.inc.php'; +// release session, as we dont need it and it blocks parallel requests +$GLOBALS['egw']->session->commit_session(); + // Get appname $appname = $_GET['app'] && $GLOBALS['egw_info']['apps'][$_GET['app']] ? $_GET['app'] : Api\Categories::GLOBAL_APPNAME; diff --git a/api/config.php b/api/config.php index 916ba4cc6f..c0dde35bb0 100644 --- a/api/config.php +++ b/api/config.php @@ -26,6 +26,9 @@ $GLOBALS['egw_info'] = array( include '../header.inc.php'; +// release session, as we dont need it and it blocks parallel requests +$GLOBALS['egw']->session->commit_session(); + // use an etag over config and link-registry $config = json_encode(Api\Config::clientConfigs()); $link_registry = Api\Link::json_registry(); diff --git a/api/images.php b/api/images.php index e1d157e94e..aaa1b6878d 100644 --- a/api/images.php +++ b/api/images.php @@ -28,6 +28,9 @@ $GLOBALS['egw_info'] = array( include '../header.inc.php'; +// release session, as we dont need it and it blocks parallel requests +$GLOBALS['egw']->session->commit_session(); + $content = json_encode(Api\Image::map(preg_match('/^[a-z0-9_-]+$/i',$_GET['template']) ? $_GET['template'] : null), JSON_FORCE_OBJECT | // export empty php-arrays as empty objects, not empty arrays JSON_UNESCAPED_SLASHES | // do not escape slashes, smaller and better readable diff --git a/api/lang.php b/api/lang.php index 1984ea7195..8a27cbae23 100644 --- a/api/lang.php +++ b/api/lang.php @@ -37,6 +37,8 @@ catch (\EGroupware\Api\Exception\NoPermission\App $e) { // ignore missing run rights for an app, as translations of other apps are loaded sometimes without run rights } +// release session, as we dont need it and it blocks parallel requests +$GLOBALS['egw']->session->commit_session(); // use an etag with app, lang and a hash over the creation-times of all lang-files $etag = '"'.$_GET['app'].'-'.$_GET['lang'].'-'. Api\Translation::etag($_GET['app'], $_GET['lang']).'"'; diff --git a/api/user.php b/api/user.php index 64c79dd480..1bf0986580 100644 --- a/api/user.php +++ b/api/user.php @@ -26,6 +26,9 @@ $GLOBALS['egw_info'] = array( include '../header.inc.php'; +// release session, as we dont need it and it blocks parallel requests +$GLOBALS['egw']->session->commit_session(); + // use an etag over config and link-registry $preferences = json_encode($GLOBALS['egw_info']['user']['preferences']['common']); $ab_preferences = json_encode($GLOBALS['egw_info']['user']['preferences']['addressbook']);