fix(tagxl): classify supported configuration actions - #210
michaelbeutler merged 3 commits into
Conversation
Accept Tag XL 0x80-0x83 and Smart Label v2 0x81-0x83 in sent payloads, expose AnalyzeConfiguration for observable vs action-only campaigns, and keep compare/readback on setter and getter requirements only.
Export port-128 and port-134 sent validators so campaign launch can reject malformed Tag S/L payloads without comparing an observed report.
|
@coderabbitai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Essentials Run ID: 📒 Files selected for processing (3)
Included review availability: 1 review is currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. 📝 WalkthroughWalkthroughThe change adds TagSL configuration validators and extends TagXL parsing to recognize supported action commands. TagXL analysis now distinguishes observable requirements from actions while comparison and request building retain setter requirements. ChangesTagSL validation
TagXL action configuration
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The change supports the declared action payloads and preserves the intended validation and comparison behavior, with no confirmed merge-blocking risk. 🚥 Pre-merge checks | ✅ 2 | ❌ 3❌ Failed checks (3 warnings)
✅ Passed checks (2 passed)
Full details: Linked Issues checkExplanation Issue Full details: Out of Scope Changes checkExplanation The added
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
✅ Action performedReview finished.
|
|
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
Allow 0x84 on Tag XL and Smart Label v2 so campaigns can queue the declared wipe-all command before firmware implements it.
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
|
|
@coderabbitai review |
|
d1cb0b3
into
feat/tagxl-mixed-configuration-match
Land the #210 squash on main. The original PR was merged into the already-merged parent branch, so action analysis never reached main.
Summary
0x80–0x84and Smart Label v20x81–0x84in sent fPort-151 payloads.AnalyzeConfigurationso the API can tell observable setter/getter requirements from action-only payloads.CompareConfigurationForandBuildCurrentConfigurationRequeston observable requirements only; action-only still returns the existing no-requirement error.Closes #209
Tagged as
v1.6.0-rc2for the API follow-up. Do not movev1.6.0-rc1.Investigation notes
0x84is accepted even though current firmware has no handler. Campaigns can queue it for delivery; the decoder does not claim the device will run it.0x80stays rejected. Reset-count verification was not implemented: it does not cover other actions and needs firmware/hardware confirmation.Dependencies
No
protos,common, or Pulse changes.Test plan
gofmt/golangci-linton changed packagesgo test ./pkg/decoder/tagxl/v1/ ./pkg/decoder/tagsl/v1/go test ./...32b6800v1.6.0-rc2