The json schema for the normalized uplink is located in the device-library. It is currently expanding but the message preprocessor is located in the lorawan-stack and does not use the schema supplied in the device-library for validation. Instead it uses a custom go code to validate.
This causes the validators to be out of sync and currently the stack validator is missing quite a few fields.
Summary
The json schema for the normalized uplink is located in the device-library. It is currently expanding but the message preprocessor is located in the lorawan-stack and does not use the schema supplied in the device-library for validation. Instead it uses a custom go code to validate.
This causes the validators to be out of sync and currently the stack validator is missing quite a few fields.
If only validation is needed in this function, then a library like this could do the trick https://github.com/kaptinlin/jsonschema
Steps to Reproduce
Current Result
Generates an error for each field it does not recognize
Expected Result
Should accept everything that the device-library schema accepts
Relevant Logs
No response
URL
No response
Deployment
The Things Stack Community Edition
The Things Stack Version
No response
Client Name and Version
No response
Other Information
No response
Proposed Fix
No response
Contributing
Validation
Code of Conduct