From 7596d7e7173ffd7bec1d6b9b6dff83d40f7d57c5 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Mon, 17 Aug 2026 21:40:38 +0300 Subject: [PATCH 1/3] temporary fix multiple meta sources --- lib/core.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/core.js b/lib/core.js index eb797ee1a..1873152ed 100644 --- a/lib/core.js +++ b/lib/core.js @@ -1196,9 +1196,14 @@ function getSourcesParams(_sources, _sources_params, method_name) { for(var key in _sources) { var pluginId = _sources[key]; + if (Array.isArray(pluginId)) { + pluginId = pluginId[0]; + } var plugin = plugins[pluginId]; var params = plugin.methods[method_name]; - _sources_params[key] = params.filter(param => param in result._debug.data); + if (params && params.filter) { + _sources_params[key] = params.filter(param => param in result._debug.data); + } } } From db3d9d58bdf6c83738c5ee32abfb30ccd586445d Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Tue, 18 Aug 2026 16:29:49 +0300 Subject: [PATCH 2/3] meta source: get correct `getVars` method name --- lib/core.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/core.js b/lib/core.js index 1873152ed..dcbfb770f 100644 --- a/lib/core.js +++ b/lib/core.js @@ -1201,6 +1201,15 @@ } var plugin = plugins[pluginId]; var params = plugin.methods[method_name]; + + if (!params && method_name === 'getVars' && CONFIG.GET_VARS_METHODS) { + // Var may come from an aliased getVars method, e.g. `getContent` -> `content`. + var aliasMethod = Object.keys(CONFIG.GET_VARS_METHODS).find(m => CONFIG.GET_VARS_METHODS[m] === key); + if (aliasMethod) { + params = plugin.methods[aliasMethod]; + } + } + if (params && params.filter) { _sources_params[key] = params.filter(param => param in result._debug.data); } From f6e5dd59764af05ade530fd29e3c85deced030b3 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Tue, 18 Aug 2026 16:33:41 +0300 Subject: [PATCH 3/3] meta sources: merge params from all methods --- lib/core.js | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/lib/core.js b/lib/core.js index dcbfb770f..bd7ed512f 100644 --- a/lib/core.js +++ b/lib/core.js @@ -1195,23 +1195,32 @@ function getSourcesParams(_sources, _sources_params, method_name) { for(var key in _sources) { - var pluginId = _sources[key]; - if (Array.isArray(pluginId)) { - pluginId = pluginId[0]; - } - var plugin = plugins[pluginId]; - var params = plugin.methods[method_name]; - - if (!params && method_name === 'getVars' && CONFIG.GET_VARS_METHODS) { - // Var may come from an aliased getVars method, e.g. `getContent` -> `content`. - var aliasMethod = Object.keys(CONFIG.GET_VARS_METHODS).find(m => CONFIG.GET_VARS_METHODS[m] === key); - if (aliasMethod) { - params = plugin.methods[aliasMethod]; + var pluginIds = _sources[key]; + if (!Array.isArray(pluginIds)) { + pluginIds = [pluginIds]; + } + + var mergedParams = []; + + for(var i = 0; i < pluginIds.length; i++) { + var plugin = plugins[pluginIds[i]]; + var params = plugin.methods[method_name]; + + if (!params && method_name === 'getVars' && CONFIG.GET_VARS_METHODS) { + // Var may come from an aliased getVars method, e.g. `getContent` -> `content`. + var aliasMethod = Object.keys(CONFIG.GET_VARS_METHODS).find(m => CONFIG.GET_VARS_METHODS[m] === key); + if (aliasMethod) { + params = plugin.methods[aliasMethod]; + } + } + + if (params && params.filter) { + mergedParams = mergedParams.concat(params.filter(param => param in result._debug.data)); } } - if (params && params.filter) { - _sources_params[key] = params.filter(param => param in result._debug.data); + if (mergedParams.length) { + _sources_params[key] = [...new Set(mergedParams)]; } } }