diff --git a/gateway/platforms/wecom.py b/gateway/platforms/wecom.py index 873284de7961..c93a8fe3d65b 100644 --- a/gateway/platforms/wecom.py +++ b/gateway/platforms/wecom.py @@ -1015,6 +1015,8 @@ def _decrypt_file_bytes(encrypted_data: bytes, aes_key: str) -> bytes: if not aes_key: raise ValueError("aes_key is required") + # WeCom doesn't pad base64 keys; add padding if needed + aes_key = aes_key + '=' * ((4 - len(aes_key) % 4) % 4) key = base64.b64decode(aes_key) if len(key) != 32: raise ValueError(f"Invalid WeCom AES key length: expected 32 bytes, got {len(key)}") diff --git a/scripts/release.py b/scripts/release.py index 801c35c023da..ea29bac0bbfa 100755 --- a/scripts/release.py +++ b/scripts/release.py @@ -60,6 +60,7 @@ "74554762+wmagev@users.noreply.github.com": "wmagev", "ashermorse@icloud.com": "ashermorse", "happy5318@users.noreply.github.com": "happy5318", + "chengoak@users.noreply.github.com": "chengoak", "emelyanenko.kirill@gmail.com": "EmelyanenkoK", # Matrix parity salvage batch (April 2026) "sr@samirusani": "samrusani",