Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2k
Implement plugin reload functionality without full Homebridge restart#3841
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:beta-2.0.0
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Co-authored-by: donavanbecker <9875439+donavanbecker@users.noreply.github.com>
Co-authored-by: donavanbecker <9875439+donavanbecker@users.noreply.github.com>
donavanbecker commentedAug 29, 2025
@copilot Rebase on beta-2.0.0 branch |
coveralls commentedAug 29, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Pull Request Test Coverage Report forBuild 17335865781Details
💛 -Coveralls |
Successfully rebased onto beta-2.0.0 branch (commitf8c552e). All merge conflicts have been resolved and the plugin reload functionality now builds cleanly with the beta-2.0.0 codebase while maintaining full compatibility. The implementation preserves all original features including IPC integration for external tools like Homebridge UI. Commit: 15e14ef |
donavanbecker commentedAug 29, 2025
@copilot Revert all changes so there are no conflicts and then reimplement based on branch beta-2.0.0 |
Successfully reverted all changes and reimplemented plugin reload functionality from scratch based on beta-2.0.0 branch. The implementation now includes:
All code builds cleanly and passes linting with beta-2.0.0 standards. Commit: b42d76b |
ec771cb to7d444d1Compare0210cb1 toe3ccb10Compare21a38e9 to75ebe49Compare174b4ff to55f55fcComparee40ded9 to6a711fbComparee11e24f tod6ded5eCompare
Uh oh!
There was an error while loading.Please reload this page.
This PR implements hot-reloading functionality for Homebridge plugins, allowing users to reload plugins without restarting the entire Homebridge server. This is particularly useful during plugin development and for updating plugins without service interruption.
Key Features
Plugin Hot-Reloading:
IPC Integration:
RELOAD_PLUGINIPC event for external tool integrationImplementation Details:
Plugin.reload()method handles module reloading and re-initializationPluginManager.reloadPlugin()manages plugin mappings and lifecycleUsage
The reload functionality can be triggered via IPC for integration with external tools:
Testing
Comprehensive test suite covering:
All 60 tests pass with full TypeScript compilation and ESLint compliance on the beta-2.0.0 codebase.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Clickhere to start the survey.