From c4661745dee807ed8e24b351de81925816172dae Mon Sep 17 00:00:00 2001 From: johnsoncherian Date: Wed, 21 May 2025 09:00:21 +0530 Subject: [PATCH] fix: correct Safari version check for PDF support detection --- frontend/src/_helpers/appUtils.js | 162 +++++++++++++++--------------- 1 file changed, 80 insertions(+), 82 deletions(-) diff --git a/frontend/src/_helpers/appUtils.js b/frontend/src/_helpers/appUtils.js index 9ce0e8527a..e989164690 100644 --- a/frontend/src/_helpers/appUtils.js +++ b/frontend/src/_helpers/appUtils.js @@ -1106,42 +1106,42 @@ export function previewQuery(_ref, query, calledFromQuery = false, userSuppliedP queryStatusCode === 400 || queryStatusCode === 404 || queryStatusCode === 422: { - let errorData = {}; - switch (query.kind) { - case 'runpy': - errorData = data.data; - break; - case 'tooljetdb': - if (data?.error) { - errorData = { - message: data?.error?.message || 'Something went wrong', - description: data?.error?.message || 'Something went wrong', - status: data?.statusText || 'Failed', - data: data?.error || {}, - }; - } else { + let errorData = {}; + switch (query.kind) { + case 'runpy': + errorData = data.data; + break; + case 'tooljetdb': + if (data?.error) { + errorData = { + message: data?.error?.message || 'Something went wrong', + description: data?.error?.message || 'Something went wrong', + status: data?.statusText || 'Failed', + data: data?.error || {}, + }; + } else { + errorData = data; + errorData.description = data.errorMessage || 'Something went wrong'; + } + break; + default: errorData = data; - errorData.description = data.errorMessage || 'Something went wrong'; - } - break; - default: - errorData = data; - break; + break; + } + + onEvent(_ref, 'onDataQueryFailure', queryEvents); + useCurrentStateStore.getState().actions.setErrors({ + [query.name]: { + type: 'query', + kind: query.kind, + data: errorData, + options: options, + }, + }); + if (!calledFromQuery) setPreviewData(errorData); + + break; } - - onEvent(_ref, 'onDataQueryFailure', queryEvents); - useCurrentStateStore.getState().actions.setErrors({ - [query.name]: { - type: 'query', - kind: query.kind, - data: errorData, - options: options, - }, - }); - if (!calledFromQuery) setPreviewData(errorData); - - break; - } case queryStatus === 'needs_oauth': { const url = data.data.auth_url; // Backend generates and return sthe auth url const kind = data.data?.kind; @@ -1158,44 +1158,44 @@ export function previewQuery(_ref, query, calledFromQuery = false, userSuppliedP queryStatus === 'Created' || queryStatus === 'Accepted' || queryStatus === 'No Content': { - if (query.options.enableTransformation) { - finalData = await runTransformation( - _ref, - finalData, - query.options.transformation, - query.options.transformationLanguage, - query, - 'edit' - ); - if (finalData?.status === 'failed') { - useCurrentStateStore.getState().actions.setErrors({ - [query.name]: { - type: 'transformations', - data: finalData, - options: options, - }, - }); - onEvent(_ref, 'onDataQueryFailure', queryEvents); - setPreviewLoading(false); - resolve({ status: data.status, data: finalData }); - // console.log('Test', finalData); - if (!calledFromQuery) setPreviewData(finalData); - return; + if (query.options.enableTransformation) { + finalData = await runTransformation( + _ref, + finalData, + query.options.transformation, + query.options.transformationLanguage, + query, + 'edit' + ); + if (finalData?.status === 'failed') { + useCurrentStateStore.getState().actions.setErrors({ + [query.name]: { + type: 'transformations', + data: finalData, + options: options, + }, + }); + onEvent(_ref, 'onDataQueryFailure', queryEvents); + setPreviewLoading(false); + resolve({ status: data.status, data: finalData }); + // console.log('Test', finalData); + if (!calledFromQuery) setPreviewData(finalData); + return; + } } - } - useCurrentStateStore.getState().actions.setCurrentState({ - succededQuery: { - [query.name]: { - type: 'query', - kind: query.kind, + useCurrentStateStore.getState().actions.setCurrentState({ + succededQuery: { + [query.name]: { + type: 'query', + kind: query.kind, + }, }, - }, - }); - if (!calledFromQuery) setPreviewData(finalData); - onEvent(_ref, 'onDataQuerySuccess', queryEvents, 'edit'); - break; - } + }); + if (!calledFromQuery) setPreviewData(finalData); + onEvent(_ref, 'onDataQuerySuccess', queryEvents, 'edit'); + break; + } } setPreviewLoading(false); @@ -1411,10 +1411,10 @@ export function runQuery( }, query.kind === 'restapi' ? { - request: data.data.requestObject, - response: data.data.responseObject, - responseHeaders: data.data.responseHeaders, - } + request: data.data.requestObject, + response: data.data.responseObject, + responseHeaders: data.data.responseHeaders, + } : {} ), }, @@ -2423,22 +2423,20 @@ export function isPDFSupported() { const isChrome = browser.name === 'Chrome' && browser.major >= 92; const isEdge = browser.name === 'Edge' && browser.major >= 92; - const isSafari = browser.name === 'Safari' && browser.major >= 15 && browser.minor >= 4; // Handle minor version check for Safari + const isSafari = browser.name === 'Safari' && (browser.major > 15 || (browser.major === 15 && browser.minor >= 4)); const isFirefox = browser.name === 'Firefox' && browser.major >= 90; - // console.log('browser--', browser, isChrome || isEdge || isSafari || isFirefox); - return isChrome || isEdge || isSafari || isFirefox; } function getBrowserUserAgent(userAgent) { var regexps = { - Chrome: [/Chrome\/(\S+)/], - Firefox: [/Firefox\/(\S+)/], - MSIE: [/MSIE (\S+);/], - Opera: [/Opera\/.*?Version\/(\S+)/ /* Opera 10 */, /Opera\/(\S+)/ /* Opera 9 and older */], - Safari: [/Version\/(\S+).*?Safari\//], - }, + Chrome: [/Chrome\/(\S+)/], + Firefox: [/Firefox\/(\S+)/], + MSIE: [/MSIE (\S+);/], + Opera: [/Opera\/.*?Version\/(\S+)/ /* Opera 10 */, /Opera\/(\S+)/ /* Opera 9 and older */], + Safari: [/Version\/(\S+).*?Safari\//], + }, re, m, browser,