hermes-agent/gateway/platforms/qqbot
annguyenNous c5b62fdbae fix(gateway): guard chained .get() against None intermediate values
.get("key", {}) only applies the default when the key is ABSENT.
When the key exists with value None (null in JSON), .get() returns
None and the subsequent .get() raises AttributeError.

Fix: replace .get("key", {}).get(...) with (.get("key") or {}).get(...)
which handles both missing keys AND None values.

8 instances across 6 files:
- gateway/run.py: tool_call function name check
- acp_adapter/server.py: tool name/description extraction
- gateway/platforms/qqbot/onboard.py: API response task_id
- gateway/platforms/yuanbao.py: message content parsing (x2)
- gateway/platforms/slack.py: block text extraction (x2)
- tui_gateway/server.py: error message extraction
2026-07-23 12:01:24 -07:00
..
__init__.py feat(qqbot): add inline-keyboard approvals and update prompts 2026-05-07 07:36:30 -07:00
adapter.py fix(security): pin DNS resolutions for SSRF-safe fetches 2026-07-23 11:44:43 -07:00
chunked_upload.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
constants.py refactor(qqbot): split qqbot.py into package & add QR scan-to-configure onboard flow 2026-04-17 15:31:14 -07:00
crypto.py refactor(qqbot): split qqbot.py into package & add QR scan-to-configure onboard flow 2026-04-17 15:31:14 -07:00
keyboards.py fix(approval): scope smart deny owner overrides to one operation 2026-07-13 04:31:55 -07:00
onboard.py fix(gateway): guard chained .get() against None intermediate values 2026-07-23 12:01:24 -07:00
utils.py refactor(qqbot): split qqbot.py into package & add QR scan-to-configure onboard flow 2026-04-17 15:31:14 -07:00