{"id":240255,"date":"2025-10-01T05:51:00","date_gmt":"2025-10-01T05:51:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/qa-assistant\/"},"modified":"2026-02-26T05:07:06","modified_gmt":"2026-02-26T05:07:06","slug":"qa-assistant","status":"publish","type":"plugin","link":"https:\/\/lmo.wordpress.org\/plugins\/qa-assistant\/","author":20232436,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.3","stable_tag":"2.0.3","tested":"6.9.4","requires":"5.0","requires_php":"8.0","requires_plugins":null,"header_name":"QA Assistant","header_author":"Obayed Mamur","header_description":"A comprehensive tool for SQA Engineers with GitHub Desktop-like Git branch switching functionality.","assets_banners_color":"","last_updated":"2026-02-26 05:07:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/obayedmamur.com\/qa-assistant","header_author_uri":"https:\/\/obayedmamur.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":289,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"obayedmamur","date":"2025-10-01 05:50:43"},"2.0.0":{"tag":"2.0.0","author":"obayedmamur","date":"2026-02-25 17:57:48"},"2.0.1":{"tag":"2.0.1","author":"obayedmamur","date":"2026-02-26 04:23:36"},"2.0.2":{"tag":"2.0.2","author":"obayedmamur","date":"2026-02-26 04:44:32"},"2.0.3":{"tag":"2.0.3","author":"obayedmamur","date":"2026-02-26 05:07:06"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3370854,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner.svg":{"filename":"banner.svg","revision":3370854,"resolution":false,"location":"assets","locale":false}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","2.0.0","2.0.1","2.0.2","2.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Git branch switching interface in WordPress admin bar - easily switch between branches with one click","2":"Plugin settings page showing selected plugins with Git status indicators","3":"Real-time notifications during branch switching operations with professional toast messages","4":"Safety warning when switching branches with uncommitted changes, including force switch option"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3066,248620,153217,248621],"plugin_category":[],"plugin_contributors":[199134,248622],"plugin_business_model":[],"class_list":["post-240255","plugin","type-plugin","status-publish","hentry","plugin_tags-help","plugin_tags-qa-assistant","plugin_tags-quality-assurance","plugin_tags-sqa-helper-tool","plugin_contributors-nhrrob","plugin_contributors-obayedmamur","plugin_committers-nhrrob","plugin_committers-obayedmamur"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/qa-assistant\/assets\/icon.svg?rev=3370854","icon":"https:\/\/ps.w.org\/qa-assistant\/assets\/icon.svg?rev=3370854","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>QA Assistant is a powerful WordPress plugin designed specifically for Software Quality Assurance Engineers. It provides advanced Git branch management directly from the WordPress admin bar, making it easier to test different plugin versions and manage development workflows.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<p>\ud83d\udd04 <strong>GitHub Desktop-like Branch Switching<\/strong> - Switch between Git branches with a single click directly from the WordPress admin bar<\/p>\n\n<p>\u2705 <strong>Current Branch Indicator<\/strong> - Visual indicators show which branch you're currently on with color-coded status<\/p>\n\n<p>\u26a0\ufe0f <strong>Uncommitted Changes Detection<\/strong> - Get warnings before switching branches when you have unsaved changes<\/p>\n\n<p>\ud83d\udd12 <strong>Force Switch Option<\/strong> - Option to discard local changes and force switch to another branch<\/p>\n\n<p>\ud83d\udce2 <strong>Real-time Notifications<\/strong> - Instant feedback on all Git operations with success\/error messages<\/p>\n\n<p>\ud83c\udfa8 <strong>Enhanced User Interface<\/strong> - Modern, intuitive interface with loading states and visual feedback<\/p>\n\n<p>\ud83d\udee1\ufe0f <strong>Security Enhanced<\/strong> - Proper nonce verification and input sanitization for all AJAX operations<\/p>\n\n<p>\ud83d\udd27 <strong>Error Handling<\/strong> - Comprehensive error handling with user-friendly error messages<\/p>\n\n<p><strong>Perfect for:<\/strong>\n- Plugin developers testing different branches\n- QA engineers managing multiple plugin versions\n- Development teams working with Git workflows\n- Anyone who needs quick branch switching in WordPress admin<\/p>\n\n<h3>Services<\/h3>\n\n<ol>\n<li>Git PHP: https:\/\/github.com\/czproject\/git-php\nLibrary for working with Git repositories in PHP.\nLibrary requires PHP 5.6 or later and <code>git<\/code> client (path to Git must be in system variable <code>PATH<\/code>).<\/li>\n<\/ol>\n\n<p>Git installers:<\/p>\n\n<ul>\n<li>for Linux - https:\/\/git-scm.com\/download\/linux<\/li>\n<li>for Windows - https:\/\/git-scm.com\/download\/win<\/li>\n<li>for others - https:\/\/git-scm.com\/downloads<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin does NOT connect to any external services or APIs. All Git operations are performed locally on your server.<\/p>\n\n<p><strong>Local Git Repository Access:<\/strong>\n- The plugin reads local Git repository information from <code>.git\/HEAD<\/code> files within your WordPress plugin directories\n- This is used to display current branch information and enable branch switching functionality\n- No data is transmitted to external servers\n- All Git operations (branch switching, pulling changes) are performed locally using your server's Git installation<\/p>\n\n<p><strong>Data Handling:<\/strong>\n- Only local Git repository metadata is accessed (branch names, commit information)\n- No personal data or sensitive information is transmitted externally\n- All operations remain within your WordPress installation and local Git repositories<\/p>\n\n<!--section=installation-->\n<p>Note : This plugin works with any wordpress sites. Make sure you have updated WordPress Site.<\/p>\n\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20the%20plugin%20for%20free%3F\"><h3>Can I use the plugin for FREE?<\/h3><\/dt>\n<dd><p>Absolutely! You can use it to help you test WordPress Plugins\/Themes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.3 - 26\/02\/2026<\/h4>\n\n<ul>\n<li>Fixed: Fatal error on plugin activation<\/li>\n<\/ul>\n\n<h4>2.0.2 - 26\/02\/2026<\/h4>\n\n<p><strong>\ud83d\udd27 Technical Fixes:<\/strong>\n- Fixed: Resolved an issue causing a blank plugin settings dashboard due to a JavaScript race condition on DOM elements.<\/p>\n\n<h4>2.0.1 - 26\/02\/2026<\/h4>\n\n<p><strong>\ud83d\udd27 Technical Fixes:<\/strong>\n- Fixed: Resolved build script collision that sometimes prevented compiled assets from being included in the production ZIP.\n- Fixed: Production builds now correctly include the <code>build\/<\/code> directory with all necessary compiled JS and CSS files.<\/p>\n\n<h4>2.0.0 - 25\/02\/2026<\/h4>\n\n<p><strong>\ufffd Major Features &amp; Enhancements:<\/strong>\n- Added: Git Branches Drawer feature with new React components and admin bar integration\n- Added: Modal and backend logic to handle uncommitted changes during Git pull operations (commit or stash)\n- Added: Custom confirmation modal for plugin removal from the dashboard\n- Added: Plugin settings link added to the plugin list for easier access<\/p>\n\n<p><strong>\ud83c\udfa8 UI\/UX Improvements:<\/strong>\n- Enhanced: Major UI revamp including a new notification system and animated skeleton loaders\n- Enhanced: Robust CSS isolation using PostCSS prefixing and inline Tailwind theme\n- Enhanced: Success button variant and improved Git branch item visuals<\/p>\n\n<p><strong>\ufffd\ud83d\udd12 Security &amp; Code Quality:<\/strong>\n- Added: PHPCS ignore annotations for correctly-prefixed global functions and classes\n- Refactored: Refined AJAX URL parsing and plugin data handling<\/p>\n\n<p><strong>\u2699\ufe0f Compatibility:<\/strong>\n- Updated: Minimum PHP requirement from 7.4 to 8.0 to match Composer dependency requirements\n- Updated: \"Tested up to\" WordPress version from 6.8 to 6.9\n- Added: Explicit PHP &gt;= 8.0 constraint in <code>composer.json<\/code> for early validation<\/p>\n\n<h4>1.0.3 - Initial Release<\/h4>\n\n<h4>1.0.2 - User Experience Improvements<\/h4>\n\n<p><strong>\ud83c\udfaf User-Requested Features:<\/strong>\n- Added: Branch search functionality for easy branch filtering\n- Added: Selected plugins display with Git status indicators\n- Enhanced: Professional SVG loading spinner replacing squared icon\n- Enhanced: Modern toast notification system with progress bars and smooth animations<\/p>\n\n<p><strong>\ud83c\udfa8 UI\/UX Enhancements:<\/strong>\n- Added: Smart search input for Git branches (appears when 3+ branches)\n- Added: Beautiful plugin cards showing current selections and Git status\n- Enhanced: Modern notification design with SVG icons and titles\n- Enhanced: Responsive grid layout for plugin cards\n- Enhanced: Smooth animations and transitions throughout<\/p>\n\n<p><strong>\ud83d\udd27 Technical Improvements:<\/strong>\n- Enhanced: Better event handling and DOM manipulation\n- Enhanced: Improved CSS organization and maintainability\n- Enhanced: Modern JavaScript with better structure\n- Enhanced: Performance optimizations for animations<\/p>\n\n<h4>1.0.1 - Enhanced Version<\/h4>\n\n<p><strong>\ud83d\ude80 Major Enhancements:<\/strong>\n- Added: GitHub Desktop-like branch switching functionality\n- Added: One-click branch switching from admin bar\n- Added: Current branch visual indicators with checkmarks\n- Added: Uncommitted changes detection and warnings\n- Added: Force switch option for discarding local changes\n- Added: Real-time notification system with success\/error messages\n- Added: Enhanced loading states and visual feedback\n- Added: Comprehensive error handling and user-friendly messages<\/p>\n\n<p><strong>\ud83d\udee1\ufe0f Security &amp; Code Quality:<\/strong>\n- Fixed: Added proper nonce verification for all AJAX requests\n- Fixed: Enhanced input validation and sanitization\n- Fixed: Improved error handling with try-catch blocks\n- Fixed: Typo in constructor comment\n- Added: New GitManager class for better code organization\n- Added: Comprehensive documentation and code comments<\/p>\n\n<p><strong>\ud83c\udfa8 UI\/UX Improvements:<\/strong>\n- Enhanced: Modern notification system with animations\n- Enhanced: Color-coded branch status indicators\n- Enhanced: Improved admin bar styling and hover effects\n- Enhanced: Better responsive design for notifications\n- Enhanced: Loading animations and visual feedback<\/p>\n\n<p><strong>\ud83d\udd27 Technical Improvements:<\/strong>\n- Refactored: Separated Git operations into dedicated GitManager class\n- Improved: Better separation of concerns and code organization\n- Enhanced: More robust Git operations with proper validation\n- Added: Comprehensive error logging for debugging<\/p>\n\n<h4>1.0.0 - 26\/12\/2024<\/h4>\n\n<ul>\n<li>Added: Git Branch display in WP Admin Bar<\/li>\n<\/ul>","raw_excerpt":"A comprehensive tool for Software Quality Assurance Engineers with advanced Git branch management capabilities.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/240255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=240255"}],"author":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/obayedmamur"}],"wp:attachment":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=240255"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=240255"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=240255"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=240255"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=240255"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=240255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}