check_dingtalk_requirements() used 'and' to check for missing env vars: if not CLIENT_ID and not CLIENT_SECRET: return False This only returns False when BOTH are missing. If only one is set (e.g. CLIENT_ID without CLIENT_SECRET), the check passes and connect() fails later with a cryptic error. Fix: Change 'and' to 'or' so it returns False when EITHER is missing.
12 KiB
12 KiB