core: reset address and preferences when updating profile of member without associated contact (#3701)

This commit is contained in:
spaced4ndy
2024-01-18 20:07:43 +04:00
committed by GitHub
parent b5fe1f8364
commit ddcd7d495e
2 changed files with 22 additions and 3 deletions
+2 -2
View File
@@ -1990,12 +1990,12 @@ createMemberContactConn_
updateMemberProfile :: DB.Connection -> User -> GroupMember -> Profile -> ExceptT StoreError IO GroupMember
updateMemberProfile db User {userId} m p'
| displayName == newName = do
liftIO $ updateMemberContactProfile_ db userId profileId p'
liftIO $ updateMemberContactProfileReset_ db userId profileId p'
pure m {memberProfile = profile}
| otherwise =
ExceptT . withLocalDisplayName db userId newName $ \ldn -> do
currentTs <- getCurrentTime
updateMemberContactProfile_' db userId profileId p' currentTs
updateMemberContactProfileReset_' db userId profileId p' currentTs
DB.execute
db
"UPDATE group_members SET local_display_name = ?, updated_at = ? WHERE user_id = ? AND group_member_id = ?"