fix: only send update if something changed