Files
openclaw/extensions
許元豪 f3f2c784c4 fix(line): reject lowercased LINE-shaped recipients before push (#81628)
Defense-in-depth safety net for #81628: even with the cron-tool fix in
place, any other code path that ever produces a 33-char LINE-shaped
recipient missing its leading capital (C/U/R) would otherwise hit the
LINE API and return HTTP 400 with no permanent-error signal, causing
delivery-recovery to retry five times before moving the entry to
failed/.

normalizeTarget now throws "Recipient is not a valid LINE id ..." when
the post-strip value looks like a LINE id but the case was lost. The
message matches the existing /recipient is not a valid/i pattern in
delivery-queue-recovery's PERMANENT_ERROR_PATTERNS, so recovery moves
the entry to failed/ on the first attempt instead of silently retrying.

Short fixtures (length < 33) are left alone so existing tests using
"U123", "line:user:1", etc. keep working.
2026-05-15 17:22:58 +01:00
..
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-15 07:28:28 +01:00
2026-05-15 07:28:28 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00
2026-05-14 21:38:45 +01:00
2026-05-15 07:28:28 +01:00
2026-05-14 21:38:45 +01:00