core: fix changing profile of prepared chats losing chat items (#6843)

This commit is contained in:
spaced4ndy
2026-04-20 13:28:01 +00:00
committed by GitHub
parent d3a2c9d08d
commit e8d16349ae
3 changed files with 32 additions and 0 deletions

View File

@@ -429,6 +429,14 @@ updatePreparedContactUser
WHERE contact_profile_id = ?
|]
(newUserId, currentTs, profileId)
DB.execute
db
[sql|
UPDATE chat_items
SET user_id = ?, updated_at = ?
WHERE contact_id = ?
|]
(newUserId, currentTs, contactId)
safeDeleteLDN db user oldLDN
getContact db vr newUser contactId

View File

@@ -687,6 +687,14 @@ updatePreparedGroupUser db vr user gInfo@GroupInfo {groupId, membership} hostMem
WHERE group_profile_id IN (SELECT group_profile_id FROM groups WHERE group_id = ?)
|]
(newUserId, currentTs, groupId)
DB.execute
db
[sql|
UPDATE chat_items
SET user_id = ?, updated_at = ?
WHERE group_id = ?
|]
(newUserId, currentTs, groupId)
safeDeleteLDN db user oldGroupLDN
updateMembership GroupMember {groupMemberId = membershipId} currentTs =
DB.execute

View File

@@ -446,6 +446,14 @@ Query:
Plan:
SEARCH chat_items USING INTEGER PRIMARY KEY (rowid=?)
Query:
UPDATE chat_items
SET user_id = ?, updated_at = ?
WHERE group_id = ?
Plan:
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_id (group_id=?)
Query:
UPDATE contact_profiles
SET display_name = ?,
@@ -1063,6 +1071,14 @@ SEARCH m USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
SEARCH g USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
SEARCH h USING INDEX idx_sent_probe_hashes_sent_probe_id (sent_probe_id=?)
Query:
UPDATE chat_items
SET user_id = ?, updated_at = ?
WHERE contact_id = ?
Plan:
SEARCH chat_items USING COVERING INDEX idx_chat_items_contact_id (contact_id=?)
Query:
UPDATE chat_items SET item_status = ?, item_viewed = 1, updated_at = ?
WHERE user_id = ? AND group_id = ? AND item_status = ? AND chat_item_id = ?