1ec442cc05
mergeServerCartIntoLocal() relied on CartSync's own change-triggered push to upload the merged cart — but if the server cart was empty (first login on this account) and the local guest cart wasn't, the merge loop never actually ran (nothing in the server response to add), so no write/change-event ever fired and CartSync's effect never pushed anything. The guest cart looked fine on the device that just logged in, but never reached any other device. Now pushes explicitly at the end regardless of whether anything changed.