573e4a0cb4
Upstream OIDC remote.updateUser does: 1. users.save(user) — basic fields, cache.companies unset 2. companies.setUserRole(company, user) — fetches fresh user, pushes company id into cache.companies, users.save() that fresh user 3. users.save(user) — saves the LOCAL stale user, overwriting (2) Step 3 is what breaks: cache.companies ends up empty in DB, the user search index loses the companies field, and the share-picker can't find users from the same Company. Removing step 3 fixes it: setUserRole's save is the authoritative one.