Skip to content

Enhance diagnostics payload with safer shape and raw API context#210

Merged
MTrab merged 2 commits intomainfrom
enhancement/conservative-diagnostics-payload
Mar 2, 2026
Merged

Enhance diagnostics payload with safer shape and raw API context#210
MTrab merged 2 commits intomainfrom
enhancement/conservative-diagnostics-payload

Conversation

@MTrab
Copy link
Copy Markdown
Owner

@MTrab MTrab commented Mar 2, 2026

Summary

  • stop using full device.__dict__ dumps in diagnostics
  • keep bug-report value by explicitly including raw API payloads (last_data, settings, dev_data)
  • retain useful high-level state fields for quick inspection
  • keep redaction for sensitive fields (email, password, lat, lon, acc_email, etc.)
  • add diagnostics test coverage for payload shape and redaction behavior

Why

  • preserves the original troubleshooting goal (full API response context)
  • reduces exposure of private/internal object fields and avoids unnecessary payload bloat

Test strategy

  • python3 -m pytest -q tests/test_diagnostics_payload.py tests/test_setup_initial_refresh.py tests/test_options_reload_flow.py
  • ruff check custom_components/webastoconnect/diagnostics.py tests/test_diagnostics_payload.py

Known limitations

  • payload can still be large when API responses are large; this change is conservative by design

Configuration changes

  • none

@MTrab MTrab added the enhancement New feature or request label Mar 2, 2026
@MTrab MTrab merged commit becdbb4 into main Mar 2, 2026
3 checks passed
@MTrab MTrab deleted the enhancement/conservative-diagnostics-payload branch March 2, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant