fix(users): reliably populate a user's assigned customers in Assign Customer (#899) (#900)
The per-row action dropdown in UsersList used a static `options` array whose render closures read `selectedUser.value`. Because the parent template never references `selectedUser` directly and every row's <n-dropdown> received the same stable array reference, changing `selectedUser` (via @click) never forced NDropdown to re-render. With `display-directive="show"` keeping the menu — and the AssignCustomer modal inside it — mounted, the modal kept a stale `user` prop (often the initial undefined), so loadCurrentAccess() hit its `if (!props.user) return` guard and silently populated nothing. It was intermittent because an unrelated re-render occasionally refreshed the closures. - UsersList.vue: make `options` a computed keyed on `selectedUser` so each selection yields a new array reference, forcing the dropdown to re-render its render closures with the current user. Fixes the same latent bug in the sibling actions (AssignRole, AssignTags, ChangePassword, DeleteUser). - AssignCustomer.vue: reload access when the bound user changes while the modal is open, and clear stale state otherwise, so a previous user's data is never shown. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>