From 93a7ae5148d71e0d24b1376d7d4c515b9e01bb50 Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sat, 10 Aug 2019 18:31:50 +0900
Subject: [PATCH] refs #985 Save account cache when updated
---
src/main/index.ts | 10 ++++++----
.../store/TimelineSpace/Modals/NewToot/Status.ts | 5 +++++
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/index.ts b/src/main/index.ts
index f0989cac..977768fb 100644
--- a/src/main/index.ts
+++ b/src/main/index.ts
@@ -465,7 +465,7 @@ ipcMain.on('start-all-user-streamings', (event: Event, accounts: Array {
+ async (update: Status) => {
if (!event.sender.isDestroyed()) {
event.sender.send(`update-start-all-user-streamings-${id}`, update)
}
@@ -473,6 +473,9 @@ ipcMain.on('start-all-user-streamings', (event: Event, accounts: Array {
await hashtagCache.insertHashtag(tag.name)
})
+ // Cache account
+ // Ignore error for unique constratins.
+ await accountCache.insertAccount(id, update.account.acct).catch(err => console.info(err))
},
(notification: RemoteNotification) => {
const preferences = new Preferences(preferencesDBPath)
@@ -1021,9 +1024,8 @@ ipcMain.on('get-cache-accounts', async (event: Event, ownerID: string) => {
ipcMain.on('insert-cache-accounts', (event: Event, obj: InsertAccountCache) => {
const { ownerID, accts } = obj
accts.map(async acct => {
- await accountCache.insertAccount(ownerID, acct).catch(err => {
- console.warn(err)
- })
+ // Ignore error for unique constratins.
+ await accountCache.insertAccount(ownerID, acct).catch(err => console.info(err))
})
event.sender.send('response-insert-cache-accounts')
})
diff --git a/src/renderer/store/TimelineSpace/Modals/NewToot/Status.ts b/src/renderer/store/TimelineSpace/Modals/NewToot/Status.ts
index 4f95d4c0..121cfe5c 100644
--- a/src/renderer/store/TimelineSpace/Modals/NewToot/Status.ts
+++ b/src/renderer/store/TimelineSpace/Modals/NewToot/Status.ts
@@ -4,6 +4,7 @@ import Mastodon, { Account, Tag, Response, Results } from 'megalodon'
import { Module, MutationTree, ActionTree, GetterTree } from 'vuex'
import { RootState } from '@/store/index'
import { LocalTag } from '~/src/types/localTag'
+import { InsertAccountCache } from '~/src/types/insertAccountCache'
type Suggest = {
name: string
@@ -113,6 +114,10 @@ const actions: ActionTree = {
const res: Response = await client.get('/search', { q: word, resolve: false })
commit(MUTATION_TYPES.UPDATE_FILTERED_ACCOUNTS, res.data.accounts)
if (res.data.accounts.length === 0) throw new Error('Empty')
+ ipcRenderer.send('insert-cache-accounts', {
+ ownerID: rootState.TimelineSpace.account._id!,
+ accts: res.data.accounts.map(a => a.acct)
+ } as InsertAccountCache)
commit(MUTATION_TYPES.CHANGE_OPEN_SUGGEST, true)
commit(MUTATION_TYPES.CHANGE_START_INDEX, start)
commit(MUTATION_TYPES.CHANGE_MATCH_WORD, word)