Compare commits
6 Commits
v1.6.0-git
...
ad3821d7aa
Author | SHA1 | Date | |
---|---|---|---|
ad3821d7aa | |||
84111171f4 | |||
9c557bc46d | |||
0fa1e048ef | |||
91e1da9d05 | |||
08616164e9 |
173
.ai-assistant.md
Normal file
173
.ai-assistant.md
Normal file
@ -0,0 +1,173 @@
|
||||
# AI Assistant Guide for Fix Plugin Does Not Exist Notices
|
||||
|
||||
This guide helps AI assistants understand the project structure, workflows, and best practices for this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
- **Plugin Name**: Fix 'Plugin file does not exist.' Notices
|
||||
- **Repository**: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
|
||||
- **Description**: WordPress plugin that adds missing plugins to the plugins list with a "Remove Reference" link to clean up invalid plugin entries and remove error notices.
|
||||
|
||||
## Version Management
|
||||
|
||||
### Version Numbering Convention
|
||||
|
||||
We follow [Semantic Versioning](https://semver.org/):
|
||||
- **MAJOR.MINOR.PATCH** (e.g., 1.6.0)
|
||||
- **MAJOR**: Breaking changes
|
||||
- **MINOR**: New features, non-breaking
|
||||
- **PATCH**: Bug fixes, non-breaking
|
||||
|
||||
### When to Increment Version Numbers
|
||||
|
||||
- **PATCH** (1.6.0 → 1.6.1):
|
||||
- Bug fixes
|
||||
- Small text changes
|
||||
- Minor improvements that don't add new features
|
||||
|
||||
- **MINOR** (1.6.0 → 1.7.0):
|
||||
- New features
|
||||
- Significant improvements to existing functionality
|
||||
- Deprecation of features (but not removal)
|
||||
|
||||
- **MAJOR** (1.6.0 → 2.0.0):
|
||||
- Breaking changes
|
||||
- Removal of features
|
||||
- Major architectural changes
|
||||
|
||||
### Version Update Checklist
|
||||
|
||||
When updating the version number, always update these files:
|
||||
1. `fix-plugin-does-not-exist-notices.php` (Plugin header)
|
||||
2. `CHANGELOG.md` (Add new version section)
|
||||
3. `readme.txt` (Stable tag and Changelog section)
|
||||
4. Update `FPDEN_VERSION` constant in the main plugin file
|
||||
|
||||
## Git Workflow
|
||||
|
||||
### Branch Naming Convention
|
||||
|
||||
- Feature branches: `feature/descriptive-name`
|
||||
- Bug fix branches: `fix/issue-description`
|
||||
- Release branches: `v{MAJOR}.{MINOR}.{PATCH}`
|
||||
|
||||
### Commit Message Guidelines
|
||||
|
||||
- Use present tense ("Add feature" not "Added feature")
|
||||
- Start with a verb
|
||||
- Keep the first line under 50 characters
|
||||
- Reference issues when relevant: "Fix #123: Resolve plugin detection issue"
|
||||
|
||||
### Release Process
|
||||
|
||||
1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}`
|
||||
2. Update version numbers in all required files
|
||||
3. Update CHANGELOG.md with all changes
|
||||
4. Commit changes: `git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"`
|
||||
5. Push branch to all remotes:
|
||||
```
|
||||
git push github HEAD:v{MAJOR}.{MINOR}.{PATCH}
|
||||
git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
6. Create and push a tag to trigger the GitHub Actions workflow:
|
||||
```
|
||||
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
|
||||
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
||||
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
## Build Process
|
||||
|
||||
The build process is handled by `build.sh`:
|
||||
1. Updates version numbers
|
||||
2. Installs composer dependencies
|
||||
3. Copies files to build directory
|
||||
4. Creates ZIP file
|
||||
|
||||
To manually build the plugin:
|
||||
```
|
||||
./build.sh {MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
## Remote Repositories
|
||||
|
||||
The plugin is hosted on multiple repositories:
|
||||
- GitHub: https://github.com/wpallstars/fix-plugin-does-not-exist-notices
|
||||
- Gitea: https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices
|
||||
- WordPress.org: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
|
||||
|
||||
Always push changes to all remotes to keep them in sync.
|
||||
|
||||
## GitHub Actions
|
||||
|
||||
The repository uses GitHub Actions for automated builds and deployments:
|
||||
- Triggered by tags matching the pattern `v*`
|
||||
- Builds the plugin
|
||||
- Creates a GitHub release
|
||||
- Deploys to WordPress.org
|
||||
|
||||
## Testing Guidelines
|
||||
|
||||
Before releasing:
|
||||
1. Test with the latest WordPress version
|
||||
2. Test with PHP 7.0+ (minimum supported version)
|
||||
3. Verify all features work as expected
|
||||
4. Check for any PHP warnings or notices
|
||||
|
||||
## Common Tasks for AI Assistants
|
||||
|
||||
### Creating a New Release
|
||||
|
||||
```
|
||||
# 1. Create a new branch
|
||||
git checkout -b v1.7.0
|
||||
|
||||
# 2. Update version numbers in files
|
||||
# - fix-plugin-does-not-exist-notices.php
|
||||
# - CHANGELOG.md
|
||||
# - readme.txt
|
||||
# - FPDEN_VERSION constant
|
||||
|
||||
# 3. Commit changes
|
||||
git add .
|
||||
git commit -m "Prepare release v1.7.0"
|
||||
|
||||
# 4. Push to remotes
|
||||
git push github HEAD:v1.7.0
|
||||
git push gitea HEAD:v1.7.0
|
||||
|
||||
# 5. Create and push tag
|
||||
git tag -a v1.7.0 -m "Release version 1.7.0"
|
||||
git push github refs/tags/v1.7.0
|
||||
git push gitea refs/tags/v1.7.0
|
||||
```
|
||||
|
||||
### Adding a New Feature
|
||||
|
||||
```
|
||||
# 1. Create feature branch
|
||||
git checkout -b feature/new-feature-name
|
||||
|
||||
# 2. Make changes and commit
|
||||
git add .
|
||||
git commit -m "Add new feature"
|
||||
|
||||
# 3. Push to remotes
|
||||
git push github HEAD:feature/new-feature-name
|
||||
git push gitea HEAD:feature/new-feature-name
|
||||
```
|
||||
|
||||
### Fixing a Bug
|
||||
|
||||
```
|
||||
# 1. Create bugfix branch
|
||||
git checkout -b fix/bug-description
|
||||
|
||||
# 2. Make changes and commit
|
||||
git add .
|
||||
git commit -m "Fix #123: Fix bug description"
|
||||
|
||||
# 3. Push to remotes
|
||||
git push github HEAD:fix/bug-description
|
||||
git push gitea HEAD:fix/bug-description
|
||||
```
|
160
.github/ai-workflows/bug-fixing.md
vendored
Normal file
160
.github/ai-workflows/bug-fixing.md
vendored
Normal file
@ -0,0 +1,160 @@
|
||||
# Bug Fixing Guide for AI Assistants
|
||||
|
||||
This document provides guidance for AI assistants to help with bug fixing for the Fix Plugin Does Not Exist Notices plugin.
|
||||
|
||||
## Bug Fixing Workflow
|
||||
|
||||
### 1. Create a Bug Fix Branch
|
||||
|
||||
Always start by creating a bug fix branch from the main branch:
|
||||
|
||||
```bash
|
||||
git checkout main
|
||||
git pull github main
|
||||
git checkout -b fix/bug-description
|
||||
```
|
||||
|
||||
Use a descriptive name that clearly indicates what bug is being fixed.
|
||||
|
||||
### 2. Understand the Bug
|
||||
|
||||
Before fixing a bug, make sure you understand:
|
||||
|
||||
- What is the expected behavior?
|
||||
- What is the actual behavior?
|
||||
- What are the steps to reproduce the bug?
|
||||
- What is the impact of the bug?
|
||||
- What is the root cause of the bug?
|
||||
|
||||
### 3. Fix the Bug
|
||||
|
||||
When fixing a bug:
|
||||
|
||||
- Make minimal changes necessary to fix the bug
|
||||
- Avoid introducing new features while fixing bugs
|
||||
- Maintain backward compatibility
|
||||
- Add appropriate comments explaining the fix
|
||||
- Consider adding tests to prevent regression
|
||||
|
||||
### 4. Update Documentation
|
||||
|
||||
Update relevant documentation to reflect the bug fix:
|
||||
|
||||
- Add a description to CHANGELOG.md under an "Unreleased" section
|
||||
- Update readme.txt if the bug fix affects user-facing functionality
|
||||
|
||||
### 5. Testing
|
||||
|
||||
Test the bug fix thoroughly:
|
||||
|
||||
- Verify that the bug is fixed
|
||||
- Ensure no regression in related functionality
|
||||
- Test with the latest WordPress version
|
||||
- Test with the minimum supported WordPress version (5.0)
|
||||
- Test with PHP 7.0+ (minimum supported version)
|
||||
|
||||
### 6. Commit Changes
|
||||
|
||||
Make atomic commits with clear messages:
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "Fix #123: Brief description of the bug fix"
|
||||
```
|
||||
|
||||
If there's an issue number, reference it in the commit message.
|
||||
|
||||
### 7. Push to Remote
|
||||
|
||||
Push the bug fix branch to the remote repositories:
|
||||
|
||||
```bash
|
||||
git push github HEAD:fix/bug-description
|
||||
git push gitea HEAD:fix/bug-description
|
||||
```
|
||||
|
||||
### 8. Create Pull Request (Optional)
|
||||
|
||||
If the repository uses pull requests for code review, create a pull request from the bug fix branch to the main branch.
|
||||
|
||||
## Determining Version Increment
|
||||
|
||||
After fixing a bug, determine the appropriate version increment:
|
||||
|
||||
- **PATCH** (e.g., 1.6.0 → 1.6.1): For most bug fixes that don't change functionality
|
||||
- **MINOR** (e.g., 1.6.0 → 1.7.0): For bug fixes that introduce new features or significant changes
|
||||
- **MAJOR** (e.g., 1.6.0 → 2.0.0): For bug fixes that introduce breaking changes
|
||||
|
||||
## Hotfix Process
|
||||
|
||||
For critical bugs that need immediate fixing in a released version:
|
||||
|
||||
### 1. Create a Hotfix Branch
|
||||
|
||||
```bash
|
||||
git checkout v{MAJOR}.{MINOR}.{PATCH}
|
||||
git checkout -b hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
```
|
||||
|
||||
### 2. Fix the Bug
|
||||
|
||||
Apply the minimal fix necessary to address the critical issue.
|
||||
|
||||
### 3. Update Version Numbers
|
||||
|
||||
Increment the PATCH version and update all version numbers:
|
||||
|
||||
- Main plugin file (fix-plugin-does-not-exist-notices.php)
|
||||
- FPDEN_VERSION constant
|
||||
- CHANGELOG.md
|
||||
- readme.txt
|
||||
|
||||
### 4. Commit and Push
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "Hotfix: Brief description of the critical bug fix"
|
||||
git push github HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
git push gitea HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
```
|
||||
|
||||
### 5. Create and Push Tag
|
||||
|
||||
```bash
|
||||
git tag -a v{MAJOR}.{MINOR}.{PATCH+1} -m "Hotfix release version {MAJOR}.{MINOR}.{PATCH+1}"
|
||||
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
```
|
||||
|
||||
## Common Bug Types and Fixing Strategies
|
||||
|
||||
### WordPress Compatibility Issues
|
||||
|
||||
- Test with the specific WordPress version where the issue occurs
|
||||
- Check for deprecated functions or hooks
|
||||
- Review WordPress changelog for relevant changes
|
||||
|
||||
### PHP Compatibility Issues
|
||||
|
||||
- Test with the specific PHP version where the issue occurs
|
||||
- Check for deprecated PHP functions or features
|
||||
- Use appropriate polyfills if necessary
|
||||
|
||||
### JavaScript Issues
|
||||
|
||||
- Test in different browsers
|
||||
- Check for browser console errors
|
||||
- Consider browser-specific workarounds if necessary
|
||||
|
||||
### CSS Issues
|
||||
|
||||
- Test in different browsers and screen sizes
|
||||
- Use browser developer tools to inspect elements
|
||||
- Consider browser-specific workarounds if necessary
|
||||
|
||||
### Database Issues
|
||||
|
||||
- Use proper database prefixing
|
||||
- Sanitize database inputs
|
||||
- Use prepared statements for queries
|
||||
- Consider database version differences
|
163
.github/ai-workflows/code-review.md
vendored
Normal file
163
.github/ai-workflows/code-review.md
vendored
Normal file
@ -0,0 +1,163 @@
|
||||
# Code Review Guide for AI Assistants
|
||||
|
||||
This document provides guidance for AI assistants to help with code review for the Fix Plugin Does Not Exist Notices plugin.
|
||||
|
||||
## Code Review Checklist
|
||||
|
||||
When reviewing code, check for the following:
|
||||
|
||||
### Functionality
|
||||
|
||||
- [ ] Does the code work as expected?
|
||||
- [ ] Does it handle edge cases appropriately?
|
||||
- [ ] Are there any logical errors?
|
||||
- [ ] Is error handling implemented properly?
|
||||
|
||||
### Code Quality
|
||||
|
||||
- [ ] Does the code follow WordPress coding standards?
|
||||
- [ ] Is the code well-organized and easy to understand?
|
||||
- [ ] Are there any code smells (duplicate code, overly complex functions, etc.)?
|
||||
- [ ] Are functions and variables named appropriately?
|
||||
- [ ] Are there appropriate comments and documentation?
|
||||
|
||||
### Security
|
||||
|
||||
- [ ] Is user input properly validated and sanitized?
|
||||
- [ ] Is output properly escaped?
|
||||
- [ ] Are capability checks used for user actions?
|
||||
- [ ] Are nonces used for form submissions?
|
||||
- [ ] Are there any potential SQL injection vulnerabilities?
|
||||
- [ ] Are there any potential XSS vulnerabilities?
|
||||
|
||||
### Performance
|
||||
|
||||
- [ ] Are there any performance bottlenecks?
|
||||
- [ ] Are database queries optimized?
|
||||
- [ ] Is caching used appropriately?
|
||||
- [ ] Are assets (CSS, JS) properly enqueued?
|
||||
|
||||
### Compatibility
|
||||
|
||||
- [ ] Is the code compatible with the minimum supported WordPress version (5.0)?
|
||||
- [ ] Is the code compatible with the minimum supported PHP version (7.0)?
|
||||
- [ ] Are there any browser compatibility issues?
|
||||
- [ ] Are there any conflicts with other plugins?
|
||||
|
||||
### Internationalization
|
||||
|
||||
- [ ] Are all user-facing strings translatable?
|
||||
- [ ] Is the correct text domain used?
|
||||
- [ ] Are translation functions used correctly?
|
||||
|
||||
### Accessibility
|
||||
|
||||
- [ ] Does the code follow accessibility best practices?
|
||||
- [ ] Are ARIA attributes used appropriately?
|
||||
- [ ] Is keyboard navigation supported?
|
||||
- [ ] Is screen reader support implemented?
|
||||
|
||||
## Code Review Process
|
||||
|
||||
### 1. Understand the Context
|
||||
|
||||
Before reviewing code, understand:
|
||||
- What problem is the code trying to solve?
|
||||
- What are the requirements?
|
||||
- What are the constraints?
|
||||
|
||||
### 2. Review the Code
|
||||
|
||||
Review the code with the checklist above in mind.
|
||||
|
||||
### 3. Provide Feedback
|
||||
|
||||
When providing feedback:
|
||||
- Be specific and clear
|
||||
- Explain why a change is needed
|
||||
- Provide examples or suggestions when possible
|
||||
- Prioritize feedback (critical issues vs. minor improvements)
|
||||
- Be constructive and respectful
|
||||
|
||||
### 4. Follow Up
|
||||
|
||||
After the code has been updated:
|
||||
- Review the changes
|
||||
- Verify that issues have been addressed
|
||||
- Provide additional feedback if necessary
|
||||
|
||||
## Common Issues to Look For
|
||||
|
||||
### PHP Issues
|
||||
|
||||
- Undefined variables or functions
|
||||
- Incorrect function parameters
|
||||
- Missing return statements
|
||||
- Improper error handling
|
||||
- Inefficient loops or conditionals
|
||||
- Hardcoded values that should be configurable
|
||||
|
||||
### WordPress-Specific Issues
|
||||
|
||||
- Incorrect hook usage
|
||||
- Missing or incorrect nonces
|
||||
- Missing capability checks
|
||||
- Direct database queries instead of using WordPress functions
|
||||
- Improper enqueuing of scripts and styles
|
||||
- Not using WordPress functions for common tasks
|
||||
|
||||
### JavaScript Issues
|
||||
|
||||
- Undefined variables or functions
|
||||
- Event listener memory leaks
|
||||
- jQuery conflicts
|
||||
- Browser compatibility issues
|
||||
- Missing error handling
|
||||
|
||||
### CSS Issues
|
||||
|
||||
- Browser compatibility issues
|
||||
- Specificity issues
|
||||
- Unused styles
|
||||
- Overriding WordPress admin styles inappropriately
|
||||
|
||||
## Example Feedback
|
||||
|
||||
### Good Feedback Example
|
||||
|
||||
```
|
||||
In function `handle_remove_reference()`:
|
||||
|
||||
1. The nonce check is missing, which could lead to CSRF vulnerabilities.
|
||||
Consider adding:
|
||||
```php
|
||||
if (!isset($_GET['_wpnonce']) || !wp_verify_nonce($_GET['_wpnonce'], 'fpden_remove_reference')) {
|
||||
wp_die(__('Security check failed.', 'fix-plugin-does-not-exist-notices'));
|
||||
}
|
||||
```
|
||||
|
||||
2. The user capability check should be more specific. Instead of:
|
||||
```php
|
||||
if (!current_user_can('manage_options')) {
|
||||
```
|
||||
Consider using:
|
||||
```php
|
||||
if (!current_user_can('activate_plugins')) {
|
||||
```
|
||||
This is more appropriate for the action being performed.
|
||||
|
||||
3. The success message should be translatable:
|
||||
```php
|
||||
// Change this:
|
||||
add_settings_error('fpden', 'fpden_removed', 'Plugin reference removed successfully.', 'updated');
|
||||
|
||||
// To this:
|
||||
add_settings_error('fpden', 'fpden_removed', __('Plugin reference removed successfully.', 'fix-plugin-does-not-exist-notices'), 'updated');
|
||||
```
|
||||
```
|
||||
|
||||
### Poor Feedback Example
|
||||
|
||||
```
|
||||
This code has security issues and doesn't follow best practices. Fix it.
|
||||
```
|
130
.github/ai-workflows/feature-development.md
vendored
Normal file
130
.github/ai-workflows/feature-development.md
vendored
Normal file
@ -0,0 +1,130 @@
|
||||
# Feature Development Guide for AI Assistants
|
||||
|
||||
This document provides guidance for AI assistants to help with feature development for the Fix Plugin Does Not Exist Notices plugin.
|
||||
|
||||
## Feature Development Workflow
|
||||
|
||||
### 1. Create a Feature Branch
|
||||
|
||||
Always start by creating a feature branch from the main branch:
|
||||
|
||||
```bash
|
||||
git checkout main
|
||||
git pull github main
|
||||
git checkout -b feature/descriptive-name
|
||||
```
|
||||
|
||||
Use a descriptive name that clearly indicates what the feature is about.
|
||||
|
||||
### 2. Implement the Feature
|
||||
|
||||
When implementing a new feature:
|
||||
|
||||
- Follow WordPress coding standards
|
||||
- Ensure all strings are translatable
|
||||
- Add appropriate comments
|
||||
- Consider performance implications
|
||||
- Maintain backward compatibility
|
||||
|
||||
### 3. Update Documentation
|
||||
|
||||
Update relevant documentation to reflect the new feature:
|
||||
|
||||
- Add a description to CHANGELOG.md under an "Unreleased" section
|
||||
- Update readme.txt if the feature affects user-facing functionality
|
||||
- Update inline documentation/comments
|
||||
|
||||
### 4. Testing
|
||||
|
||||
Test the feature thoroughly:
|
||||
|
||||
- Test with the latest WordPress version
|
||||
- Test with the minimum supported WordPress version (5.0)
|
||||
- Test with PHP 7.0+ (minimum supported version)
|
||||
- Test in different environments (if possible)
|
||||
|
||||
### 5. Commit Changes
|
||||
|
||||
Make atomic commits with clear messages:
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "Add feature: descriptive name"
|
||||
```
|
||||
|
||||
### 6. Push to Remote
|
||||
|
||||
Push the feature branch to the remote repositories:
|
||||
|
||||
```bash
|
||||
git push github HEAD:feature/descriptive-name
|
||||
git push gitea HEAD:feature/descriptive-name
|
||||
```
|
||||
|
||||
### 7. Create Pull Request (Optional)
|
||||
|
||||
If the repository uses pull requests for code review, create a pull request from the feature branch to the main branch.
|
||||
|
||||
## Code Standards and Best Practices
|
||||
|
||||
### PHP Coding Standards
|
||||
|
||||
- Follow [WordPress PHP Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/)
|
||||
- Use tabs for indentation, not spaces
|
||||
- Use proper naming conventions:
|
||||
- Class names: `Class_Name`
|
||||
- Function names: `function_name`
|
||||
- Variable names: `$variable_name`
|
||||
|
||||
### JavaScript Coding Standards
|
||||
|
||||
- Follow [WordPress JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/)
|
||||
- Use tabs for indentation, not spaces
|
||||
- Use proper naming conventions:
|
||||
- Function names: `functionName`
|
||||
- Variable names: `variableName`
|
||||
|
||||
### Internationalization (i18n)
|
||||
|
||||
- Wrap all user-facing strings in appropriate translation functions:
|
||||
- `__()` for simple strings
|
||||
- `_e()` for echoed strings
|
||||
- `esc_html__()` for escaped strings
|
||||
- `esc_html_e()` for escaped and echoed strings
|
||||
- Always use the plugin's text domain: `fix-plugin-does-not-exist-notices`
|
||||
|
||||
### Security Best Practices
|
||||
|
||||
- Validate and sanitize all input
|
||||
- Escape all output
|
||||
- Use nonces for form submissions
|
||||
- Use capability checks for user actions
|
||||
|
||||
## Feature Types and Implementation Guidelines
|
||||
|
||||
### Admin Interface Features
|
||||
|
||||
When adding features to the admin interface:
|
||||
|
||||
- Use WordPress admin UI components for consistency
|
||||
- Follow WordPress admin UI patterns
|
||||
- Ensure accessibility compliance
|
||||
- Add appropriate help text
|
||||
|
||||
### Plugin Functionality Features
|
||||
|
||||
When adding core functionality:
|
||||
|
||||
- Ensure compatibility with WordPress hooks system
|
||||
- Consider performance impact
|
||||
- Maintain backward compatibility
|
||||
- Add appropriate error handling
|
||||
|
||||
### Integration Features
|
||||
|
||||
When adding integration with other plugins or services:
|
||||
|
||||
- Make integrations optional when possible
|
||||
- Check if the integrated plugin/service is available before using it
|
||||
- Provide fallback functionality when the integration is not available
|
||||
- Document the integration requirements
|
173
.github/ai-workflows/release-process.md
vendored
Normal file
173
.github/ai-workflows/release-process.md
vendored
Normal file
@ -0,0 +1,173 @@
|
||||
# Release Process for AI Assistants
|
||||
|
||||
This document provides step-by-step instructions for AI assistants to help with the release process for the Fix Plugin Does Not Exist Notices plugin.
|
||||
|
||||
## Pre-Release Checklist
|
||||
|
||||
- [ ] All features for this release are complete
|
||||
- [ ] All bug fixes for this release are complete
|
||||
- [ ] CHANGELOG.md is up to date
|
||||
- [ ] readme.txt is up to date
|
||||
- [ ] All tests pass
|
||||
|
||||
## Determining the New Version Number
|
||||
|
||||
Based on the changes made, determine the appropriate version increment:
|
||||
|
||||
1. **PATCH** (e.g., 1.6.0 → 1.6.1): For bug fixes and minor improvements
|
||||
2. **MINOR** (e.g., 1.6.0 → 1.7.0): For new features and significant improvements
|
||||
3. **MAJOR** (e.g., 1.6.0 → 2.0.0): For breaking changes
|
||||
|
||||
## Release Steps
|
||||
|
||||
### 1. Create a New Branch
|
||||
|
||||
```bash
|
||||
git checkout -b v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
git checkout -b v1.7.0
|
||||
```
|
||||
|
||||
### 2. Update Version Numbers
|
||||
|
||||
Update the version number in the following files:
|
||||
|
||||
#### a. Main Plugin File (fix-plugin-does-not-exist-notices.php)
|
||||
|
||||
```php
|
||||
/**
|
||||
* Plugin Name: Fix 'Plugin file does not exist.' Notices
|
||||
* Plugin URI: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
|
||||
* Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can permanently clean up invalid plugin entries and remove error notices.
|
||||
* Version: {MAJOR}.{MINOR}.{PATCH}
|
||||
* ...
|
||||
*/
|
||||
```
|
||||
|
||||
Also update the FPDEN_VERSION constant:
|
||||
|
||||
```php
|
||||
define( 'FPDEN_VERSION', '{MAJOR}.{MINOR}.{PATCH}' );
|
||||
```
|
||||
|
||||
#### b. CHANGELOG.md
|
||||
|
||||
Add a new section at the top of the CHANGELOG.md file:
|
||||
|
||||
```markdown
|
||||
## [{MAJOR}.{MINOR}.{PATCH}] - YYYY-MM-DD
|
||||
### Added
|
||||
- New feature 1
|
||||
- New feature 2
|
||||
|
||||
### Changed
|
||||
- Change 1
|
||||
- Change 2
|
||||
|
||||
### Fixed
|
||||
- Bug fix 1
|
||||
- Bug fix 2
|
||||
```
|
||||
|
||||
#### c. readme.txt
|
||||
|
||||
Update the stable tag:
|
||||
|
||||
```
|
||||
Stable tag: {MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
Add a new entry to the changelog section:
|
||||
|
||||
```
|
||||
= {MAJOR}.{MINOR}.{PATCH} =
|
||||
* New feature 1
|
||||
* New feature 2
|
||||
* Change 1
|
||||
* Change 2
|
||||
* Fixed bug 1
|
||||
* Fixed bug 2
|
||||
```
|
||||
|
||||
Update the upgrade notice section:
|
||||
|
||||
```
|
||||
= {MAJOR}.{MINOR}.{PATCH} =
|
||||
Brief description of the most important changes in this release
|
||||
```
|
||||
|
||||
### 3. Commit Changes
|
||||
|
||||
```bash
|
||||
git add fix-plugin-does-not-exist-notices.php CHANGELOG.md readme.txt
|
||||
git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"
|
||||
```
|
||||
|
||||
### 4. Push Branch to Remotes
|
||||
|
||||
```bash
|
||||
git push github HEAD:v{MAJOR}.{MINOR}.{PATCH}
|
||||
git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
### 5. Create and Push Tag
|
||||
|
||||
```bash
|
||||
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
|
||||
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
||||
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
||||
```
|
||||
|
||||
### 6. Monitor GitHub Actions
|
||||
|
||||
Open the GitHub Actions page to monitor the build and deployment process:
|
||||
https://github.com/wpallstars/fix-plugin-does-not-exist-notices/actions
|
||||
|
||||
### 7. Verify Release
|
||||
|
||||
- [ ] Check that the GitHub release was created successfully
|
||||
- [ ] Verify that the plugin was deployed to WordPress.org
|
||||
- [ ] Test the plugin from WordPress.org to ensure it works correctly
|
||||
|
||||
## Rollback Procedure (If Needed)
|
||||
|
||||
If issues are discovered after release:
|
||||
|
||||
### 1. Create a Hotfix Branch
|
||||
|
||||
```bash
|
||||
git checkout v{MAJOR}.{MINOR}.{PATCH}
|
||||
git checkout -b hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
```
|
||||
|
||||
### 2. Fix the Issues
|
||||
|
||||
Make the necessary changes to fix the issues.
|
||||
|
||||
### 3. Update Version Numbers
|
||||
|
||||
Increment the PATCH version and update all version numbers as described above.
|
||||
|
||||
### 4. Commit and Push
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "Fix issues in v{MAJOR}.{MINOR}.{PATCH}"
|
||||
git push github HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
git push gitea HEAD:hotfix/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
```
|
||||
|
||||
### 5. Create and Push Tag
|
||||
|
||||
```bash
|
||||
git tag -a v{MAJOR}.{MINOR}.{PATCH+1} -m "Hotfix release version {MAJOR}.{MINOR}.{PATCH+1}"
|
||||
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH+1}
|
||||
```
|
||||
|
||||
### 6. Monitor and Verify
|
||||
|
||||
Follow steps 6 and 7 from the release process to monitor and verify the hotfix release.
|
16
CHANGELOG.md
16
CHANGELOG.md
@ -2,6 +2,22 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [1.6.2] - 2024-05-15
|
||||
### Changed
|
||||
- Updated POT file version for consistency
|
||||
- Improved JavaScript localization with proper fallbacks
|
||||
- Enhanced code quality for WordPress.org submission
|
||||
- Fixed Git Updater configuration with correct Update URI
|
||||
- Improved update server URL configuration
|
||||
|
||||
## [1.6.1] - 2024-05-15
|
||||
### Added
|
||||
- AI assistant guide and workflow documentation
|
||||
- Detailed release process documentation
|
||||
- Feature development guidelines
|
||||
- Bug fixing procedures
|
||||
- Code review standards
|
||||
|
||||
## [1.6.0] - 2024-05-15
|
||||
### Added
|
||||
- Full translation support with POT file
|
||||
|
@ -18,11 +18,18 @@
|
||||
var ourNotice = document.createElement('div');
|
||||
ourNotice.className = 'prc-notice';
|
||||
|
||||
// Add content (using localized strings passed via wp_localize_script if needed, but simple for now)
|
||||
// Add content using localized strings passed via wp_localize_script
|
||||
var pluginMissingText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.pluginMissing ?
|
||||
fpdenData.i18n.pluginMissing : 'Plugin file missing';
|
||||
var removeReferenceText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.removeReference ?
|
||||
fpdenData.i18n.removeReference : 'Remove Reference';
|
||||
var clickToScrollText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.clickToScroll ?
|
||||
fpdenData.i18n.clickToScroll : 'Click here to scroll to missing plugins';
|
||||
|
||||
ourNotice.innerHTML = '<h3 style="margin-top:0;color:#826200;">👉 Fix Plugin Does Not Exist Notices Can Fix This</h3>' +
|
||||
'<p>To remove the above error notification, scroll down to find the plugin marked with "<strong style="color:red">(File Missing)</strong>" and click its "<strong>Remove Reference</strong>" link.</p>' +
|
||||
'<p>To remove the above error notification, scroll down to find the plugin marked with "<strong style="color:red">(' + pluginMissingText + ')</strong>" and click its "<strong>' + removeReferenceText + '</strong>" link.</p>' +
|
||||
'<p>This will permanently remove the missing plugin reference from your database.</p>' +
|
||||
'<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">Click here to scroll to the missing plugin</a></p>';
|
||||
'<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">' + clickToScrollText + '</a></p>';
|
||||
|
||||
// Insert our notice right after the error
|
||||
notice.parentNode.insertBefore(ourNotice, notice.nextSibling);
|
||||
|
@ -11,7 +11,7 @@
|
||||
* Plugin Name: Fix 'Plugin file does not exist.' Notices
|
||||
* Plugin URI: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
|
||||
* Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can permanently clean up invalid plugin entries and remove error notices.
|
||||
* Version: 1.6.0
|
||||
* Version: 1.6.2
|
||||
* Author: Marcus Quinn
|
||||
* Author URI: https://www.wpallstars.com
|
||||
* License: GPL-2.0+
|
||||
@ -20,6 +20,7 @@
|
||||
* Domain Path: /languages
|
||||
* Requires at least: 5.0
|
||||
* Requires PHP: 7.0
|
||||
* Update URI: https://git-updater.wpallstars.com
|
||||
* GitHub Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
|
||||
* GitHub Branch: main
|
||||
* Gitea Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
|
||||
@ -45,7 +46,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
}
|
||||
|
||||
// Define plugin constants
|
||||
define( 'FPDEN_VERSION', '1.6.0' );
|
||||
define( 'FPDEN_VERSION', '1.6.2' );
|
||||
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
||||
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
||||
define( 'FPDEN_PLUGIN_FILE', __FILE__ );
|
||||
|
@ -136,10 +136,8 @@ class Updater {
|
||||
|
||||
// Set the update server based on the installation source
|
||||
add_filter('gul_update_server', function() {
|
||||
if ($this->source === 'github') {
|
||||
return 'https://wpallstars.com'; // GitHub update server
|
||||
} elseif ($this->source === 'gitea') {
|
||||
return 'https://wpallstars.com'; // Gitea update server
|
||||
if ($this->source === 'github' || $this->source === 'gitea') {
|
||||
return 'https://git-updater.wpallstars.com'; // Update server for both GitHub and Gitea
|
||||
}
|
||||
return '';
|
||||
});
|
||||
|
@ -2,7 +2,7 @@
|
||||
# This file is distributed under the GPL-2.0+.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 1.6.0\n"
|
||||
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 1.6.2\n"
|
||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/fix-plugin-does-not-exist-notices\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
22
readme.txt
22
readme.txt
@ -5,7 +5,7 @@ Tags: plugins, missing plugins, cleanup, error fix, admin tools, plugin file doe
|
||||
Requires at least: 5.0
|
||||
Tested up to: 6.4
|
||||
Requires PHP: 7.0
|
||||
Stable tag: 1.6.0
|
||||
Stable tag: 1.6.2
|
||||
License: GPL-2.0+
|
||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
@ -89,6 +89,20 @@ Although this plugin consumes minimal disk space, and doesn't run unless you are
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.6.2 =
|
||||
* Updated POT file version for consistency
|
||||
* Improved JavaScript localization with proper fallbacks
|
||||
* Enhanced code quality for WordPress.org submission
|
||||
* Fixed Git Updater configuration with correct Update URI
|
||||
* Improved update server URL configuration
|
||||
|
||||
= 1.6.1 =
|
||||
* Added AI assistant guide and workflow documentation
|
||||
* Added detailed release process documentation
|
||||
* Added feature development guidelines
|
||||
* Added bug fixing procedures
|
||||
* Added code review standards
|
||||
|
||||
= 1.6.0 =
|
||||
* Added full translation support with POT file
|
||||
* Added JavaScript localization for better multilingual support
|
||||
@ -170,6 +184,12 @@ Although this plugin consumes minimal disk space, and doesn't run unless you are
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 1.6.2 =
|
||||
Improved JavaScript localization, enhanced code quality, and fixed Git Updater configuration for seamless updates!
|
||||
|
||||
= 1.6.1 =
|
||||
Added comprehensive AI assistant guide and workflow documentation for improved development processes!
|
||||
|
||||
= 1.6.0 =
|
||||
Added full translation support and Git Updater compatibility for direct updates from GitHub and Gitea!
|
||||
|
||||
|
Reference in New Issue
Block a user