Skip to content

Bump version 2.7.10#135

Merged
RishadAlam merged 5 commits intomainfrom
fix/plugin-review-team-issues
Feb 23, 2026
Merged

Bump version 2.7.10#135
RishadAlam merged 5 commits intomainfrom
fix/plugin-review-team-issues

Conversation

@RishadAlam
Copy link
Member

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @RishadAlam, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on a version update to 2.7.10, accompanied by several bug fixes and minor technical improvements. Key changes include enhancing frontend asset loading by integrating Vite manifest for CSS, updating internationalization utility imports across various components, and addressing critical issues such as blank pages on authorization screens, redirect failures, and styling inconsistencies. Additionally, the Vite development server configuration has been adjusted for better Hot Module Replacement (HMR) behavior.

Highlights

  • Version Update: The plugin version has been bumped to 2.7.10 across all relevant files.
  • Frontend Asset Loading: Improved frontend CSS asset loading by dynamically enqueuing styles from the Vite manifest.
  • Internationalization Utilities: The sprintf function has been added to i18nwrap imports in numerous frontend components, enhancing internationalization capabilities.
  • Bug Fixes: Addressed several critical bug fixes, including blank page issues on authorization screens, redirect problems after saving integrations, admin bar styling inconsistencies, and active trigger loading issues.
  • Development Environment: Refined Vite development server configuration for Hot Module Replacement (HMR) and watch options.
Changelog
  • backend/Admin/Admin_Bar.php
    • Added logic to dynamically enqueue CSS assets from the Vite manifest.
  • backend/Config.php
    • Updated the plugin version constant to '2.7.10'.
  • bitwpfi.php
    • Updated the plugin version in the header to '2.7.10'.
    • Updated the BTCBI_VERSION constant to '2.7.10'.
  • frontend/src/components/AllIntegrations/Affiliate/AffiliateFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/AgiledCRM/AgiledFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/CompanyHub/CompanyHubFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/ConvertKit/ConvertKitAuthorization.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/ConvertKit/ConvertKitCommonFunc.js
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/CopperCRM/CopperCRMFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/Dropbox/DropboxFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/FreshSales/FreshSalesFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/GamiPress/GamiPressFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/GiveWp/GiveWpFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/GoogleContacts/GoogleContactsFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/Klaviyo/KlaviyoFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/MailMint/MailMintFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/MailRelay/MailRelayFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/Mautic/MauticFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/Memberpress/MemberpressFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/MoxieCRM/MoxieCRMFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/NewInteg.jsx
    • Updated useEffect dependency array to [] and added an eslint-disable comment.
  • frontend/src/components/AllIntegrations/OneHashCRM/OneHashCRMFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/PerfexCRM/PerfexCRMFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/RestrictContent/RestrictContentFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/Salesmate/SalesmateFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/Sendy/SendyFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/AllIntegrations/SliceWp/SliceWpFieldMap.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/Triggers/ActionHook.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/components/Triggers/CustomTrigger.jsx
    • Imported sprintf function for internationalization.
  • frontend/src/pages/ChangelogToggle.jsx
    • Updated changelog entries to reflect recent bug fixes.
  • readme.txt
    • Updated the stable tag to '2.7.10'.
    • Added new changelog entries for version 2.7.10.
  • vite.config.js
    • Updated Vite watch options and configured HMR for the development server.
Activity
  • The pull request was initiated to update the plugin version to 2.7.10.
  • Frontend internationalization was enhanced by adding sprintf imports to numerous React components.
  • The asset loading mechanism for frontend CSS was improved by integrating Vite manifest processing in the admin bar.
  • The changelog and readme files were updated to document new bug fixes, including resolutions for blank pages, redirect issues, and styling problems.
  • Vite development server configuration was adjusted to optimize Hot Module Replacement (HMR) functionality.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request bumps the version to 2.7.10 and introduces several bug fixes and asset loading improvements. Key changes include a new mechanism for enqueuing CSS assets via a Vite manifest in production and updates to the development server configuration for better HMR support. I have identified a potential runtime error in the PHP asset loading logic where a null check is missing after JSON decoding, and a React hook implementation that bypasses dependency checks, which could lead to stale state issues.

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'])) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The result of json_decode should be verified as an array before accessing its keys. If the manifest file is missing, unreadable, or contains invalid JSON, json_decode will return null. Attempting to access the main.jsx offset on a null value will trigger a TypeError in PHP 8.0+.

                if (is_array($manifest) && !empty($manifest['main.jsx']['css'])) {

Comment on lines +187 to +188
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Bypassing the exhaustive-deps rule by emptying the dependency array and using a lint suppression is risky. Since the effect logic depends on the flow state and the navigate function, they should be included in the dependency array to ensure the effect has access to the latest values. If the intention is to run this check only once on mount, including the dependencies is still safe as the condition !Object.keys(flow).length will simply evaluate to false on subsequent updates once the flow is populated.

  }, [flow, navigate])

@RishadAlam RishadAlam merged commit 85e0428 into main Feb 23, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants