From fec74a6da564c69b9c601874f0a65ec35facb48d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 5 Sep 2018 14:42:09 +0200 Subject: [PATCH] [FIX] web: make server-wide modules ordered again Rev. 279d92869391ac9f860d2070a7b92693fffee687 forced `server_wide_modules` to include 'base' and 'web', because both contain controllers that need to be always loaded. However the patch used a set() that randomized the order of the list, when combined with Python 3.5's randomized hash function. This is turn could cause the checksum of asset bundles (web.assets_backend) to randomly vary, which could cause rapid assets recycling and errors. --- addons/web/controllers/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 930dde340ed..ff3224fafbc 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -178,11 +178,11 @@ def module_installed_bypass_session(dbname): return {} def module_boot(db=None): - server_wide_modules = {'base', 'web'} | set(odoo.conf.server_wide_modules) - serverside = [] + server_wide_modules = odoo.conf.server_wide_modules or [] + serverside = ['base', 'web'] dbside = [] for i in server_wide_modules: - if i in http.addons_manifest: + if i in http.addons_manifest and i not in serverside: serverside.append(i) monodb = db or db_monodb() if monodb: