diff --git a/backend/Admin/Admin_Bar.php b/backend/Admin/Admin_Bar.php index 4b54fa06..aa842ada 100644 --- a/backend/Admin/Admin_Bar.php +++ b/backend/Admin/Admin_Bar.php @@ -81,6 +81,22 @@ public function AdminAssets($current_screen) wp_enqueue_script('MODULE' . Config::SLUG . '-index', $devUrl . '/main.jsx', [], Config::VERSION, true); } else { wp_enqueue_script('MODULE' . Config::SLUG . '-index', Config::get('ASSET_URI') . '/main.' . Config::VERSION . '.js', $deps, Config::VERSION, true); + + $manifestPath = Config::get('BASEDIR') . 'assets/.vite/manifest.json'; + if (file_exists($manifestPath)) { + // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents + $manifest = json_decode(file_get_contents($manifestPath), true); + if (!empty($manifest['main.jsx']['css'])) { + foreach ($manifest['main.jsx']['css'] as $index => $cssFile) { + wp_enqueue_style( + Config::SLUG . '-main-' . $index, + Config::get('ASSET_URI') . '/' . $cssFile, + [], + Config::VERSION + ); + } + } + } } if (!wp_script_is('wp-tinymce')) { diff --git a/backend/Config.php b/backend/Config.php index f5e17da5..5dd9b027 100644 --- a/backend/Config.php +++ b/backend/Config.php @@ -22,7 +22,7 @@ class Config public const VAR_PREFIX = 'bit_integrations_'; - public const VERSION = '2.7.9'; + public const VERSION = '2.7.10'; public const DB_VERSION = '1.1'; diff --git a/bitwpfi.php b/bitwpfi.php index 2e00105f..a58ed39c 100644 --- a/bitwpfi.php +++ b/bitwpfi.php @@ -4,7 +4,7 @@ * Plugin Name: Bit Integrations * Plugin URI: https://bitapps.pro/bit-integrations * Description: Bit Integrations is a platform that integrates with over 300+ different platforms to help with various tasks on your WordPress site, like WooCommerce, Form builder, Page builder, LMS, Sales funnels, Bookings, CRM, Webhooks, Email marketing, Social media and Spreadsheets, etc - * Version: 2.7.9 + * Version: 2.7.10 * Author: Automation & Integration Plugin - Bit Apps * Author URI: https://bitapps.pro * Text Domain: bit-integrations @@ -33,7 +33,7 @@ * * @deprecated 2.7.8 Use Config::VERSION instead. */ -define('BTCBI_VERSION', '2.7.9'); +define('BTCBI_VERSION', '2.7.10'); /** * deprecated since version 2.7.8. * diff --git a/frontend/src/components/AllIntegrations/Affiliate/AffiliateFieldMap.jsx b/frontend/src/components/AllIntegrations/Affiliate/AffiliateFieldMap.jsx index dc074a95..3e37e675 100644 --- a/frontend/src/components/AllIntegrations/Affiliate/AffiliateFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Affiliate/AffiliateFieldMap.jsx @@ -1,5 +1,5 @@ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleCustomValue, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/AgiledCRM/AgiledFieldMap.jsx b/frontend/src/components/AllIntegrations/AgiledCRM/AgiledFieldMap.jsx index 01349ee6..00bca3bf 100644 --- a/frontend/src/components/AllIntegrations/AgiledCRM/AgiledFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/AgiledCRM/AgiledFieldMap.jsx @@ -1,6 +1,6 @@ /* eslint-disable no-console */ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' import { $appConfigState } from '../../../GlobalStates' diff --git a/frontend/src/components/AllIntegrations/CompanyHub/CompanyHubFieldMap.jsx b/frontend/src/components/AllIntegrations/CompanyHub/CompanyHubFieldMap.jsx index 3ffbbf97..ea163fd2 100644 --- a/frontend/src/components/AllIntegrations/CompanyHub/CompanyHubFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/CompanyHub/CompanyHubFieldMap.jsx @@ -2,7 +2,7 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import CustomField from './CustomField' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' diff --git a/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitAuthorization.jsx b/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitAuthorization.jsx index 049ecd78..bd30ff75 100644 --- a/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitAuthorization.jsx +++ b/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitAuthorization.jsx @@ -1,7 +1,7 @@ import { useState } from 'react' import BackIcn from '../../../Icons/BackIcn' import bitsFetch from '../../../Utils/bitsFetch' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import LoaderSm from '../../Loaders/LoaderSm' import Note from '../../Utilities/Note' import { refreshConvertKitForm } from './ConvertKitCommonFunc' diff --git a/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitCommonFunc.js b/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitCommonFunc.js index 469880af..75a2af68 100644 --- a/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitCommonFunc.js +++ b/frontend/src/components/AllIntegrations/ConvertKit/ConvertKitCommonFunc.js @@ -1,5 +1,5 @@ // eslint-disable-next-line import/no-extraneous-dependencies -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import bitsFetch from '../../../Utils/bitsFetch' import { create } from 'mutative' diff --git a/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMFieldMap.jsx b/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMFieldMap.jsx index b0d81b58..def99ffc 100644 --- a/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/CopperCRM/CopperCRMFieldMap.jsx @@ -1,6 +1,6 @@ /* eslint-disable no-console */ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import { addFieldMap, delFieldMap, handleCustomValue, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' import { $appConfigState } from '../../../GlobalStates' diff --git a/frontend/src/components/AllIntegrations/Dropbox/DropboxFieldMap.jsx b/frontend/src/components/AllIntegrations/Dropbox/DropboxFieldMap.jsx index a2c2fdb3..ea6275fe 100644 --- a/frontend/src/components/AllIntegrations/Dropbox/DropboxFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Dropbox/DropboxFieldMap.jsx @@ -1,7 +1,7 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' import { sortByField } from '../../../Utils/Helpers' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' import { addFieldMap, delFieldMap } from './IntegrationHelpers' diff --git a/frontend/src/components/AllIntegrations/FreshSales/FreshSalesFieldMap.jsx b/frontend/src/components/AllIntegrations/FreshSales/FreshSalesFieldMap.jsx index 289a528e..65842ea4 100644 --- a/frontend/src/components/AllIntegrations/FreshSales/FreshSalesFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/FreshSales/FreshSalesFieldMap.jsx @@ -1,7 +1,7 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import TagifyInput from '../../Utilities/TagifyInput' import { addFieldMap, diff --git a/frontend/src/components/AllIntegrations/GamiPress/GamiPressFieldMap.jsx b/frontend/src/components/AllIntegrations/GamiPress/GamiPressFieldMap.jsx index 57db7d97..e1f2a7d1 100644 --- a/frontend/src/components/AllIntegrations/GamiPress/GamiPressFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/GamiPress/GamiPressFieldMap.jsx @@ -1,5 +1,5 @@ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/GiveWp/GiveWpFieldMap.jsx b/frontend/src/components/AllIntegrations/GiveWp/GiveWpFieldMap.jsx index d9899c14..79e86218 100644 --- a/frontend/src/components/AllIntegrations/GiveWp/GiveWpFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/GiveWp/GiveWpFieldMap.jsx @@ -1,6 +1,6 @@ import { useRecoilValue } from 'recoil' import { useEffect } from 'react' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/GoogleContacts/GoogleContactsFieldMap.jsx b/frontend/src/components/AllIntegrations/GoogleContacts/GoogleContactsFieldMap.jsx index be0bd83c..677435c9 100644 --- a/frontend/src/components/AllIntegrations/GoogleContacts/GoogleContactsFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/GoogleContacts/GoogleContactsFieldMap.jsx @@ -1,5 +1,5 @@ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoFieldMap.jsx b/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoFieldMap.jsx index 0a36166e..b2137a68 100644 --- a/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Klaviyo/KlaviyoFieldMap.jsx @@ -1,6 +1,6 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' import MtInput from '../../Utilities/MtInput' import TagifyInput from '../../Utilities/TagifyInput' diff --git a/frontend/src/components/AllIntegrations/MailMint/MailMintFieldMap.jsx b/frontend/src/components/AllIntegrations/MailMint/MailMintFieldMap.jsx index 86c44e3b..8241aa8e 100644 --- a/frontend/src/components/AllIntegrations/MailMint/MailMintFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/MailMint/MailMintFieldMap.jsx @@ -1,6 +1,6 @@ import { useRecoilValue } from 'recoil' import { useEffect } from 'react' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/MailRelay/MailRelayFieldMap.jsx b/frontend/src/components/AllIntegrations/MailRelay/MailRelayFieldMap.jsx index 3501cffa..ff6410b1 100644 --- a/frontend/src/components/AllIntegrations/MailRelay/MailRelayFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/MailRelay/MailRelayFieldMap.jsx @@ -1,6 +1,6 @@ /* eslint-disable no-console */ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/Mautic/MauticFieldMap.jsx b/frontend/src/components/AllIntegrations/Mautic/MauticFieldMap.jsx index c7b2153f..f63ba8ff 100644 --- a/frontend/src/components/AllIntegrations/Mautic/MauticFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Mautic/MauticFieldMap.jsx @@ -1,5 +1,5 @@ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, diff --git a/frontend/src/components/AllIntegrations/Memberpress/MemberpressFieldMap.jsx b/frontend/src/components/AllIntegrations/Memberpress/MemberpressFieldMap.jsx index 6bb44274..458cd01c 100644 --- a/frontend/src/components/AllIntegrations/Memberpress/MemberpressFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Memberpress/MemberpressFieldMap.jsx @@ -1,6 +1,6 @@ import { useRecoilValue } from 'recoil' import { useEffect } from 'react' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/MoxieCRM/MoxieCRMFieldMap.jsx b/frontend/src/components/AllIntegrations/MoxieCRM/MoxieCRMFieldMap.jsx index ac59338a..0a9fd2d0 100644 --- a/frontend/src/components/AllIntegrations/MoxieCRM/MoxieCRMFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/MoxieCRM/MoxieCRMFieldMap.jsx @@ -1,6 +1,6 @@ /* eslint-disable no-console */ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' import { $appConfigState } from '../../../GlobalStates' diff --git a/frontend/src/components/AllIntegrations/NewInteg.jsx b/frontend/src/components/AllIntegrations/NewInteg.jsx index fd311c77..aede675b 100644 --- a/frontend/src/components/AllIntegrations/NewInteg.jsx +++ b/frontend/src/components/AllIntegrations/NewInteg.jsx @@ -184,7 +184,8 @@ export default function NewInteg({ allIntegURL }) { if (!window.opener && !Object.keys(flow).length) { navigate('/flow/new') } - }, [flow, navigate]) + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) const NewIntegs = () => { switch (integUrlName) { diff --git a/frontend/src/components/AllIntegrations/OneHashCRM/OneHashCRMFieldMap.jsx b/frontend/src/components/AllIntegrations/OneHashCRM/OneHashCRMFieldMap.jsx index 5a5b726b..2bffde40 100644 --- a/frontend/src/components/AllIntegrations/OneHashCRM/OneHashCRMFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/OneHashCRM/OneHashCRMFieldMap.jsx @@ -2,7 +2,7 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import CustomField from './CustomField' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' diff --git a/frontend/src/components/AllIntegrations/PerfexCRM/PerfexCRMFieldMap.jsx b/frontend/src/components/AllIntegrations/PerfexCRM/PerfexCRMFieldMap.jsx index 148dbcea..5c2b045d 100644 --- a/frontend/src/components/AllIntegrations/PerfexCRM/PerfexCRMFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/PerfexCRM/PerfexCRMFieldMap.jsx @@ -2,7 +2,7 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import CustomField from './CustomField' import { addFieldMap, delFieldMap, handleCustomValue, handleFieldMapping } from './IntegrationHelpers' import TagifyInput from '../../Utilities/TagifyInput' diff --git a/frontend/src/components/AllIntegrations/RestrictContent/RestrictContentFieldMap.jsx b/frontend/src/components/AllIntegrations/RestrictContent/RestrictContentFieldMap.jsx index 8bcfe0e9..52a58f05 100644 --- a/frontend/src/components/AllIntegrations/RestrictContent/RestrictContentFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/RestrictContent/RestrictContentFieldMap.jsx @@ -1,5 +1,5 @@ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/Salesmate/SalesmateFieldMap.jsx b/frontend/src/components/AllIntegrations/Salesmate/SalesmateFieldMap.jsx index 2c89aa59..bf062eb4 100644 --- a/frontend/src/components/AllIntegrations/Salesmate/SalesmateFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Salesmate/SalesmateFieldMap.jsx @@ -2,7 +2,7 @@ import { useRecoilValue } from 'recoil' import { $appConfigState } from '../../../GlobalStates' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import CustomField from './CustomField' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' diff --git a/frontend/src/components/AllIntegrations/Sendy/SendyFieldMap.jsx b/frontend/src/components/AllIntegrations/Sendy/SendyFieldMap.jsx index 382b2438..7cc4fb60 100644 --- a/frontend/src/components/AllIntegrations/Sendy/SendyFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/Sendy/SendyFieldMap.jsx @@ -1,5 +1,5 @@ import { useRecoilValue } from 'recoil' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/AllIntegrations/SliceWp/SliceWpFieldMap.jsx b/frontend/src/components/AllIntegrations/SliceWp/SliceWpFieldMap.jsx index 5228fb35..056ce411 100644 --- a/frontend/src/components/AllIntegrations/SliceWp/SliceWpFieldMap.jsx +++ b/frontend/src/components/AllIntegrations/SliceWp/SliceWpFieldMap.jsx @@ -1,6 +1,6 @@ import { useRecoilValue } from 'recoil' import { useEffect } from 'react' -import { __ } from '../../../Utils/i18nwrap' +import { __, sprintf } from '../../../Utils/i18nwrap' import MtInput from '../../Utilities/MtInput' import { addFieldMap, delFieldMap, handleFieldMapping } from './IntegrationHelpers' import { SmartTagField } from '../../../Utils/StaticData/SmartTagField' diff --git a/frontend/src/components/Triggers/ActionHook.jsx b/frontend/src/components/Triggers/ActionHook.jsx index 1bb9b50d..4baec707 100644 --- a/frontend/src/components/Triggers/ActionHook.jsx +++ b/frontend/src/components/Triggers/ActionHook.jsx @@ -11,7 +11,7 @@ import bitsFetch from '../../Utils/bitsFetch' import CustomFetcherHelper, { resetActionHookFlowData } from '../../Utils/CustomFetcherHelper' import GetLogo from '../../Utils/GetLogo' import { extractValueFromPath } from '../../Utils/Helpers' -import { __ } from '../../Utils/i18nwrap' +import { __, sprintf } from '../../Utils/i18nwrap' import hooklist from '../../Utils/StaticData/hooklist' import LoaderSm from '../Loaders/LoaderSm' import ConfirmModal from '../Utilities/ConfirmModal' diff --git a/frontend/src/components/Triggers/CustomTrigger.jsx b/frontend/src/components/Triggers/CustomTrigger.jsx index 9e9dde18..582eda79 100644 --- a/frontend/src/components/Triggers/CustomTrigger.jsx +++ b/frontend/src/components/Triggers/CustomTrigger.jsx @@ -8,7 +8,7 @@ import { useRecoilState, useSetRecoilState } from 'recoil' import { $flowStep, $formFields, $newFlow } from '../../GlobalStates' import bitsFetch from '../../Utils/bitsFetch' import CustomFetcherHelper, { resetActionHookFlowData } from '../../Utils/CustomFetcherHelper' -import { __ } from '../../Utils/i18nwrap' +import { __, sprintf } from '../../Utils/i18nwrap' import Loader from '../Loaders/Loader' import LoaderSm from '../Loaders/LoaderSm' import CopyTextTrigger from '../Utilities/CopyTextTrigger' diff --git a/frontend/src/pages/ChangelogToggle.jsx b/frontend/src/pages/ChangelogToggle.jsx index 51a37df3..025d0f6c 100644 --- a/frontend/src/pages/ChangelogToggle.jsx +++ b/frontend/src/pages/ChangelogToggle.jsx @@ -48,83 +48,46 @@ const changeLog = [ label: __('Improvements', 'bit-integrations'), headClass: 'new-improvement', itemClass: 'feature-list', + items: [] + }, + { + label: __('Bug Fixes', 'bit-integrations'), + headClass: 'fixes', + itemClass: 'fixes-list', items: [ { - label: 'Refactor', - desc: 'Refactored integration controllers, routes, and helpers for cleaner namespace consistency.', + label: 'Blank page', + desc: 'Fixed blank page issue on integrations authorization screen across multiple integration field maps and triggers.', isPro: false }, { - label: 'Architecture', - desc: 'Restructured project to backend/frontend architecture for better code organization.', + label: 'Redirect', + desc: 'Fixed redirect issue after saving a new integration.', isPro: false }, { - label: 'Cleanup', - desc: 'Cleaned up deprecated code and improved version upgrade handling with prefix consistency.', + label: 'Style Breaks', + desc: 'Fixed style issue in the admin bar.', isPro: false }, { - label: 'Stability', - desc: 'Refined redirect, debug-log, slow-query lint issues and updated Google Sheets integration handling.', - isPro: false - }, - { - label: 'Authentication', - desc: 'Fixed OAuth2 redirect URL issues and resolved namespace issues in trigger checks for improved reliability.', - isPro: false + label: 'Triggers Loading', + desc: 'Fixed active triggers loading issue', + isPro: true } ] }, - { - label: __('Bug Fixes', 'bit-integrations'), - headClass: 'fixes', - itemClass: 'fixes-list', - items: [] - }, { label: __('Security', 'bit-integrations'), headClass: 'fixes', itemClass: 'fixes-list', - items: [ - { - label: 'Vulnerability Fixes', - desc: 'Fixed SQL injection vulnerabilities and hardened API helpers and admin components.', - isPro: false - }, - { - label: 'Query Safety', - desc: 'Improved SQL query handling with better placeholder usage and defensive checks across integrations.', - isPro: false - } - ] + items: [] }, { label: __('Compatibility & Compliance', 'bit-integrations'), headClass: 'new-improvement', itemClass: 'feature-list', - items: [ - { - label: 'WordPress Standards', - desc: 'Resolved WPCS and Plugin Check warnings, including hook/query compliance updates.', - isPro: false - }, - { - label: 'Query Suppression', - desc: 'Normalized cached lookup/direct query suppression handling to align with current checks.', - isPro: false - }, - { - label: 'Plugin Check', - desc: 'Added translators comments and ordered placeholders for WP Plugin Check compliance.', - isPro: false - }, - { - label: 'Translation Support', - desc: 'Fixed production build POT file generation issues for better translation support.', - isPro: false - } - ] + items: [] } ] diff --git a/readme.txt b/readme.txt index b8369ce2..740b2863 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: automation, automator, google sheets connector, zapier, WooCommerce Integr Requires at least: 5.1 Tested up to: 6.9 Requires PHP: 7.4 -Stable tag: 2.7.9 +Stable tag: 2.7.10 License: GPLv2 or later Perfect Automation and integration plugin: Connect 300+ platforms and automate CRM, Email marketing tools, Google Sheets, Contact forms, LMS and more @@ -718,6 +718,15 @@ Bit Integrations follows WordPress coding standards and best practices to ensure == Changelog == += 2.7.9 - 2.7.10 = +_Release Date - 23rd February 2026_ + +- **Bug Fixes** + - Fixed blank page issue on integrations authorization screen across multiple integration field maps and triggers. + - Fixed redirect issue after saving a new integration. + - Fixed style issue in the admin bar. + - Fixed active triggers loading issue (Pro). + = 2.7.8 = _Release Date - 20th February 2026_ diff --git a/vite.config.js b/vite.config.js index a22d7d64..7ff6bd4c 100644 --- a/vite.config.js +++ b/vite.config.js @@ -87,17 +87,16 @@ export default defineConfig(({ mode }) => { watch: { ignored: ['**/.git/**', '**/node_modules/**', '**/.port/**'], usePolling: true, - interval: 100, - include: ['**/*.js', '**/*.jsx', '**/*.css', '**/*.scss'] + interval: 100 }, cors: true, strictPort: true, port: 3000, hmr: { - // host: 'localhost', + host: 'localhost', + protocol: 'ws', overlay: true - }, - commonjsOptions: { transformMixedEsModules: true } + } } } }) @@ -142,7 +141,13 @@ function setDevelopmentServerConfig() { port = await detectPort(3000).then(detectedPort => detectedPort) updateStoredPort(port) } - return { server: { origin: `http://localhost:${port}`, port } } + return { + server: { + origin: `http://localhost:${port}`, + port, + hmr: { host: 'localhost', port, protocol: 'ws' } + } + } } removeStoredPort() },