Description
useInvoiceStream returns invoice event data but does not expose a loading flag or an error field. UI components cannot distinguish between "no events yet" and "stream failed", leading to silent error states.
Acceptance Criteria
Context
- Target file:
src/ui/hooks/useInvoiceStream.ts
- Do not change the existing data field names in the return value
Description
useInvoiceStreamreturns invoice event data but does not expose aloadingflag or anerrorfield. UI components cannot distinguish between "no events yet" and "stream failed", leading to silent error states.Acceptance Criteria
loading: boolean(true until first event or error)error: Error | nullloadingbecomes false anderroris populatedContext
src/ui/hooks/useInvoiceStream.ts