-
-
Notifications
You must be signed in to change notification settings - Fork 630
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement warning messages for invalid characters in names #1009
Conversation
This almost needs to be at the characteristic level. An example being if you have an accessory which uses the Characteristic.ConfiguredName, setting this for HomeKit with invalid characters shows an error in HomeKit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me.
@n0rt0nthec4t - Let me look at that later today. As HAP-NodeJS attempts to be transparent to individual characteristics it could be challenging. PS - Need to fix my new tests, they don't allow jest to shutdown correctly. |
Pull Request Test Coverage Report for Build 5418498676
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for you work on this PR. 🚀
I think just allowing the base ASCII alphabet is maybe a bit restrictive?
@NorthernMan54 looks like the tests might be failing because of this? https://github.com/homebridge/HAP-NodeJS/actions/runs/9630265250/job/26560643569 |
If you look down the log, it is failing here - ● Test suite failed to run
Something unrelated... |
## v1.0.0 (2025-07-11) ### Breaking Changes - **The minimum Node.js version required is now `v18`.** - **Important notice:** Because of the cleanup of the Deprecated code, you will need to migrate you code base. - Remove the long-deprecated init(). - Deprecate Core, BridgedCore, legacy Camera characteristics. (#1058) (@hjdhjd) - For deprecated `Core` and `BridgedCore` see: https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore - Legacy code deprecation cleanup. (#1059) (@hjdhjd) - For deprecated `storagePath` switch to `HAPStorage.setCustomStoragePath`, `AudioCodec` switch to `AudioStreamingCodec`, `VideoCodec` switch to `H264CodecParameters`,`StreamAudioParams` switch to `AudioStreamingOptions`, `StreamVideoParams` switch to `VideoStreamingOptions`,`cameraSource` switch to `CameraController`. - Others deprecated code to highlight removed: `useLegacyAdvertiser`, `AccessoryLoader`, ### Fixed - Fix: Build Issues (#1041) (@NorthernMan54) - Fix: Ensure data is only transmitted on open and ready connections. (#1051) (@hjdhjd) - Fix: Ensure we check names using the full UTF-8 character set. (#1052) (@hjdhjd) - Fix: ConfiguredName (#1049) (@donavanbecker) - Fix: Manufacturer looking at checkName but should look at checkValue. (#1053) (@donavanbecker) ### Other Changes - Implement warning messages for invalid characters in names (#1009) (@NorthernMan54) - Mitigate event emitter "memory leak" warnings when a significant number of camera streaming events occur simultaneously (#1037) (@hjdhjd) - AdaptiveLightingController fix & improvement (#1038) (@Shaquu) - Minor fixes to recording logging and one change in logging. (#1040) (@hjdhjd) - Bridged core and core cleanup (#1048) (@Shaquu) - Increase snapshot handler warning timeout to 8000ms. (#1055) (@hjdhjd) - Cleanup and refactor getLocalNetworkInterface and address a potential edge case. (#1056) (@hjdhjd) - Correct log spacing - Updated and fixed `typedoc` config file - Updated dependencies ### Homebridge Dependencies - `@homebridge/ciao` @ `v1.3.0` - `bonjour-hap` @ `v3.8.0`
- **The minimum Node.js version required is now `v18`.** - **Important notice:** Because of the cleanup of the Deprecated code, you will need to migrate you code base. - Remove the long-deprecated init(). - Deprecate Core, BridgedCore, legacy Camera characteristics. (#1058) (@hjdhjd) - For deprecated `Core` and `BridgedCore` see: https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore - Legacy code deprecation cleanup. (#1059) (@hjdhjd) - For deprecated `storagePath` switch to `HAPStorage.setCustomStoragePath`, `AudioCodec` switch to `AudioStreamingCodec`, `VideoCodec` switch to `H264CodecParameters`,`StreamAudioParams` switch to `AudioStreamingOptions`, `StreamVideoParams` switch to `VideoStreamingOptions`,`cameraSource` switch to `CameraController`. - Others deprecated code to highlight removed: `useLegacyAdvertiser`, `AccessoryLoader`. - Fix: Naming for Characteristic.ProgramMode has been corrected from `PROGRAM_SCHEDULED_MANUAL_MODE_` to `PROGRAM_SCHEDULED_MANUAL_MODE` - Fix: Build Issues (#1041) (@NorthernMan54) - Fix: Ensure data is only transmitted on open and ready connections. (#1051) (@hjdhjd) - Fix: Ensure we check names using the full UTF-8 character set. (#1052) (@hjdhjd) - Fix: ConfiguredName (#1049) (@donavanbecker) - Fix: Manufacturer looking at checkName but should look at checkValue. (#1053) (@donavanbecker) - Implement warning messages for invalid characters in names (#1009) (@NorthernMan54) - Mitigate event emitter "memory leak" warnings when a significant number of camera streaming events occur simultaneously (#1037) (@hjdhjd) - AdaptiveLightingController fix & improvement (#1038) (@Shaquu) - Minor fixes to recording logging and one change in logging. (#1040) (@hjdhjd) - Bridged core and core cleanup (#1048) (@Shaquu) - Increase snapshot handler warning timeout to 8000ms. (#1055) (@hjdhjd) - Cleanup and refactor getLocalNetworkInterface and address a potential edge case. (#1056) (@hjdhjd) - Correct log spacing - Updated and fixed `typedoc` config file - Updated dependencies - `@homebridge/ciao` @ `v1.3.0` - `bonjour-hap` @ `v3.8.0`
## v1.0.0 (2024-07-10) ### Breaking Changes - **The minimum Node.js version required is now `v18`.** - **Important notice:** Because of the cleanup of the Deprecated code, you will need to migrate you code base. - Remove the long-deprecated init(). - Deprecate Core, BridgedCore, legacy Camera characteristics. (#1058) (@hjdhjd) - For deprecated `Core` and `BridgedCore` see: https://github.com/homebridge/HAP-NodeJS/wiki/Deprecation-of-Core-and-BridgeCore - Legacy code deprecation cleanup. (#1059) (@hjdhjd) - For deprecated `storagePath` switch to `HAPStorage.setCustomStoragePath`, `AudioCodec` switch to `AudioStreamingCodec`, `VideoCodec` switch to `H264CodecParameters`,`StreamAudioParams` switch to `AudioStreamingOptions`, `StreamVideoParams` switch to `VideoStreamingOptions`,`cameraSource` switch to `CameraController`. - Others deprecated code to highlight removed: `useLegacyAdvertiser`, `AccessoryLoader`. - Fix: Naming for Characteristic.ProgramMode has been corrected from `PROGRAM_SCHEDULED_MANUAL_MODE_` to `PROGRAM_SCHEDULED_MANUAL_MODE` ### Fixed - Fix: Build Issues (#1041) (@NorthernMan54) - Fix: Ensure data is only transmitted on open and ready connections. (#1051) (@hjdhjd) - Fix: Ensure we check names using the full UTF-8 character set. (#1052) (@hjdhjd) - Fix: ConfiguredName (#1049) (@donavanbecker) - Fix: Manufacturer looking at checkName but should look at checkValue. (#1053) (@donavanbecker) ### Other Changes - Implement warning messages for invalid characters in names (#1009) (@NorthernMan54) - Mitigate event emitter "memory leak" warnings when a significant number of camera streaming events occur simultaneously (#1037) (@hjdhjd) - AdaptiveLightingController fix & improvement (#1038) (@Shaquu) - Minor fixes to recording logging and one change in logging. (#1040) (@hjdhjd) - Bridged core and core cleanup (#1048) (@Shaquu) - Increase snapshot handler warning timeout to 8000ms. (#1055) (@hjdhjd) - Cleanup and refactor getLocalNetworkInterface and address a potential edge case. (#1056) (@hjdhjd) - Correct log spacing - Updated and fixed `typedoc` config file - Updated dependencies ### Homebridge Dependencies - `@homebridge/ciao` @ `v1.3.0` - `bonjour-hap` @ `v3.8.0`
♻️ Current situation
Invalid characters in names will trigger warning messages in the Home App. #1008
💡 Proposed solution
Implement warning messages for invalid characters in names
Sample warning messages
⚙️ Release Notes
Warning messages will now be logged for names containing invalid characters
➕ Additional Information
If applicable, provide additional context in this section.
Testing
Testing has been augmented with test cases for the various scenarios.
Output from testing with one of my plugins that has the issue.
Reviewer Nudging
Where should the reviewer start? what is a good entry point?
@ebaauw @n0rt0nthec4t - Thanks for your input and feedback. I have tried to include