The list stream must tell clients whether each product is open so the device clock cannot reopen a closed shop.
Co-authored-by: Cursor <cursoragent@cursor.com>
Store SSE payloads were Eloquent models, so listIdentity skipped them and file_id changes never republished; encode to plain arrays before hash/publish.
Co-authored-by: Cursor <cursoragent@cursor.com>
Image uploads were ignored by the live list hash, so the stream kept republishing a stale product payload and the theme reverted to the old photo.
Co-authored-by: Cursor <cursoragent@cursor.com>
Recompute home price display on save, broadcast settings over SSE, and keep last-price status in sync without a user refresh.
Co-authored-by: Cursor <cursoragent@cursor.com>