mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-08-14 07:10:19 +00:00
changeActiveUser_ was called outside the guards that check whether apiChangePreparedContactUser / apiChangePreparedGroupUser actually succeeded. When the reassignment failed the app still switched to the other profile, leaving the invitation behind in the original one - and keepingChatId then held a chat belonging to a different user. Reachable today: open a link, expand the profile picker, and have the connection start in the window before tapping. profileChangeProhibited flips to true, the API returns null, and the switch happened anyway. The sibling picker in NewChatView already guards this correctly. iOS is unaffected: there apiChangePreparedContactUser throws, so a failure skips the switch by control flow.