-
Notifications
You must be signed in to change notification settings - Fork 0
New payload formats tag XL v3.2.0 #157
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
Conversation
- Extend default rules to accommodate longer lines for URLs and specific contexts. - Adjust indentation rules to allow for consistent 2-space indentation. - Permit truthy values commonly found in configuration files. - Disable document start marker requirement for all files. - Allow empty values, which are frequent in Helm templates. - Relax comment spacing requirements and disable comments indentation. - Enable Helm template syntax with braces. - Disable checks for new line at end of file and allow various line endings. - Allow empty lines at the start of files and be permissive with trailing spaces and comma spacing.
…ecks, and add secret scanning steps
…container configuration
…ommit hook installation
- Introduced Port198Payload struct with versioning and movement indication. - Updated Port197Payload to include version and moving fields. - Enhanced decoder logic to handle new payload formats for both ports. - Added unit tests to validate new payload structures and behaviors.
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
niko-kriznik-globtim
left a comment
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.
Looks good. This (using structures for function parameters) is the way to go for API design.
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.
Pull Request Overview
This pull request introduces new decoder support for TagXL v3.2.0 payload formats and significantly enhances the CI/CD pipeline with pre-commit hooks and quality enforcement. The core focus is adding support for WiFi and GNSS ports in the TagXL decoder while establishing stricter code quality standards.
- Added support for new WiFi and GNSS payload ports (193, 198, 200, 201) with corresponding payload structures
- Enhanced CI/CD pipeline with Python tooling, yamllint, detect-secrets, and stricter Go checks
- Introduced pre-commit hooks for automated code quality enforcement
Reviewed Changes
Copilot reviewed 30 out of 32 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/decoder/tagxl/v1/* | Added new port payload structures and decoder logic for ports 193, 198, 200, 201 |
| pkg/solver/loracloud/v2/* | New v2 solver implementation with enhanced error handling and metrics |
| pkg/solver/solver_v2*.go | New v2 solver interfaces and test implementations |
| .github/workflows/ci.yaml | Enhanced CI with Python tools, yamllint, detect-secrets, and stricter Go checks |
| .pre-commit-config.yaml | Added pre-commit hooks for code formatting, linting, and security scanning |
| .yamllint | YAML linting configuration |
| .vscode/tasks.json | VS Code task for automatic pre-commit hook installation |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…logic for Port 201; refactor test server setup and adjust data types in port specifications.
|
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.
Pull Request Overview
Copilot reviewed 33 out of 35 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| } | ||
| if len(bytes) < 5 { | ||
| return nil, common.ErrPayloadTooShort | ||
| } |
Copilot
AI
Sep 16, 2025
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.
The timestamp conversion assumes big-endian byte order but this isn't explicitly documented. Consider adding a comment to clarify the expected byte order for the timestamp extraction.
| } | |
| } | |
| // The first 4 bytes represent a big-endian unsigned 32-bit timestamp (seconds since epoch). |
The merge-base changed after approval.


This pull request introduces significant improvements to the development workflow and the
TagXLv1Decoderlogic. It adds pre-commit and CI enhancements for code quality and security, introduces new YAML linting and secret detection, and extends the decoder to support additional ports and solvers for improved GNSS and WiFi payload handling.Development workflow and CI enhancements:
.pre-commit-config.yamlwith hooks for Go formatting/linting, YAML linting, and secret detection, and a VSCode task to install pre-commit hooks for consistent local development. [1] [2].github/workflows/ci.yamlto use Go 1.24, rungofmt,go vet,staticcheck,yamllint, anddetect-secrets, and check for uncommitted/generated code. [1] [2] [3] [4].yamllintconfig for flexible YAML linting suited to the repo’s needs.Decoder logic improvements:
TagXLv1Decoderto support a new v2 solver (SolverV2) and fallback for GNSS NAV grouping ports (192, 193, 194, 195, 199), including context-aware options (DevEUI, counter, port, timestamp, moving). The decoder now prefers v2 solver when available, with fallback to v1 for backward compatibility. [1] [2] [3]Testing and deployment:
cmd/http_test.goby enabling and waiting for the health endpoint, ensuring reliable test execution.