Make sure isPinned is in sync with storage service
This commit is contained in:
parent
40983ca73e
commit
891e72a260
3 changed files with 30 additions and 8 deletions
|
@ -832,6 +832,25 @@ export class ConversationController {
|
|||
this.get(conversationId)?.onOpenComplete(loadStart);
|
||||
}
|
||||
|
||||
repairPinnedConversations(): void {
|
||||
const pinnedIds = window.storage.get('pinnedConversationIds', []);
|
||||
|
||||
for (const id of pinnedIds) {
|
||||
const convo = this.get(id);
|
||||
|
||||
if (!convo || convo.get('isPinned')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
log.warn(
|
||||
`ConversationController: Repairing ${convo.idForLogging()}'s isPinned`
|
||||
);
|
||||
convo.set('isPinned', true);
|
||||
|
||||
window.Signal.Data.updateConversation(convo.attributes);
|
||||
}
|
||||
}
|
||||
|
||||
private async doLoad(): Promise<void> {
|
||||
log.info('ConversationController: starting initial fetch');
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue