Cole Tebou
60406d0e60
feat(bluebubbles): promote attachment download errors to runtime.error and redact secrets in logs
...
Carries forward two BlueBubbles observability/security fixes from #73241
so this PR is a strict superset of the competing implementation.
- Promote attachment download failures from logVerbose to runtime.error
alongside a verbose copy. Previously, BB attachment download failures
(pinned-dispatcher compat bugs, BB server 500s, transient network
errors) were invisible at default log level — agents only saw the
`<media:image> (1 image)` placeholder text with nothing in the log
pointing at the actual failure.
- Extend sanitizeForLog to redact `?password=…` / `?token=…` /
`?api_key=…` / `?secret=…` query params and `Authorization: Bearer …`
headers before they reach the log sink. BB uses query-string auth by
default, so error chains carrying captured request URLs were
vulnerable to leaking the API password into log aggregators
(CWE-532).
- Move the changelog entry to the bottom of `## Unreleased` →
`### Changes`. Insertions at the top of that section are the most
common cause of CHANGELOG conflicts on long-lived PRs; bottom
position keeps the diff context stable.
Both behavioral changes originated in @zqchris's PR #73241 ; attribution
preserved in the CHANGELOG entry.
2026-05-01 04:51:29 +00:00
..
2026-04-30 01:25:54 +01:00
2026-05-01 05:48:59 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 22:25:58 -07:00
2026-04-29 22:42:45 +01:00
2026-05-01 01:14:07 +00:00
2026-04-29 22:42:45 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-05-01 04:51:29 +00:00
2026-04-30 03:46:18 +01:00
2026-04-29 22:42:45 +01:00
2026-04-30 15:56:49 +01:00
2026-04-28 06:21:24 +01:00
2026-04-28 05:30:04 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-05-01 01:06:13 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 08:11:57 +01:00
2026-04-28 04:33:47 +01:00
2026-04-30 23:34:05 +08:00
2026-04-29 20:45:33 +01:00
2026-04-28 05:41:30 +01:00
2026-04-28 05:34:28 +01:00
2026-04-29 22:42:45 +01:00
2026-05-01 01:49:02 +00:00
2026-04-30 00:38:48 -07:00
2026-04-28 04:33:47 +01:00
2026-04-29 08:11:57 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-30 04:24:27 +00:00
2026-04-30 04:03:40 +00:00
2026-04-29 22:42:45 +01:00
2026-04-29 22:42:45 +01:00
2026-04-29 16:45:31 -07:00
2026-05-01 01:14:07 +00:00
2026-05-01 05:41:49 +01:00
2026-04-30 05:08:32 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-27 14:34:00 +01:00
2026-04-30 04:08:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 06:52:12 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 22:42:45 +01:00
2026-04-30 04:08:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 22:42:45 +01:00
2026-04-29 22:42:45 +01:00
2026-04-29 22:42:45 +01:00
2026-04-30 04:08:47 +01:00
2026-04-30 04:55:23 +01:00
2026-04-25 04:31:10 -07:00
2026-04-30 15:22:26 +01:00
2026-04-30 16:01:51 +08:00
2026-04-29 22:42:45 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 20:05:23 +01:00
2026-04-29 20:05:23 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 08:11:57 +01:00
2026-04-29 19:14:15 +01:00
2026-04-30 04:08:47 +01:00
2026-05-01 10:26:54 +08:00
2026-04-28 04:33:47 +01:00
2026-04-29 09:25:12 -07:00
2026-04-29 22:42:45 +01:00
2026-04-28 04:33:47 +01:00
2026-05-01 01:14:07 +00:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 10:57:31 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 22:42:45 +01:00
2026-05-01 01:06:13 +01:00
2026-04-29 06:41:58 +01:00
2026-04-28 05:30:04 +01:00
2026-04-30 16:12:39 +08:00
2026-04-29 00:04:17 -07:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 01:14:19 +01:00
2026-05-01 04:49:02 +09:00
2026-04-29 22:42:45 +01:00
2026-05-01 04:49:02 +09:00
2026-04-28 06:05:27 +01:00
2026-04-28 05:30:04 +01:00
2026-04-30 01:31:00 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 22:42:45 +01:00
2026-04-30 16:11:42 +01:00
2026-04-28 05:30:04 +01:00
2026-04-28 01:14:19 +01:00
2026-04-28 04:33:47 +01:00
2026-04-29 23:16:16 +01:00
2026-04-28 07:25:03 +01:00
2026-04-29 19:12:52 -07:00
2026-04-28 04:33:47 +01:00
2026-04-30 01:31:00 +01:00
2026-04-28 10:07:39 +01:00
2026-04-29 12:13:20 +01:00
2026-04-27 14:34:00 +01:00
2026-04-28 04:33:47 +01:00
2026-05-01 05:41:49 +01:00
2026-04-28 06:21:24 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 04:33:47 +01:00
2026-04-28 05:32:40 +01:00
2026-04-30 04:08:47 +01:00
2026-04-29 22:42:45 +01:00
2026-04-28 05:30:04 +01:00
2026-04-28 04:33:47 +01:00
2026-04-30 04:08:47 +01:00
2026-04-30 04:08:47 +01:00
2026-04-17 02:23:49 -04:00
2026-04-29 05:25:43 +01:00
2026-04-28 05:21:57 +01:00
2026-04-29 05:25:43 +01:00