Currently when a promise is rejected with a plain object instead of an Error `Promise.reject({ code: 42, detail: 'oops' })`, the catcher loses the object content - `String(obj)` produces `"[object Object]"`. The console catcher also falls back to `event.reason?.message || String(event.reason)`, which either picks up an accidental `message` property or produces the same useless string. <img width="2966" height="474" alt="Image" src="https://github.com/user-attachments/assets/371d1da5-5996-401e-87b9-1fe626ec3204" />