diff --git a/src/api/user.js b/src/api/user.js index e135f27a..be73d9a6 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -10,6 +10,11 @@ const userReq = { return window.API.call(`users/${params.userId}`, { method: 'GET' }).then((json) => { + if (!json) { + throw new Error( + `getUser missing user data for: ${params.userId}` + ); + } const args = { json, params diff --git a/src/app.js b/src/app.js index ec94f6cd..7450dc29 100644 --- a/src/app.js +++ b/src/app.js @@ -532,6 +532,10 @@ console.log(`isLinux: ${LINUX}`); API.$on('USER:LIST', function (args) { for (var json of args.json) { + if (!json.displayName) { + console.error('getUsers gave us garbage', json); + continue; + } this.$emit('USER', { json, params: { diff --git a/src/service/database.js b/src/service/database.js index dea6ec6d..5a4325af 100644 --- a/src/service/database.js +++ b/src/service/database.js @@ -2192,13 +2192,9 @@ class Database { addAvatarToHistory(avatarId) { sqliteService.executeNonQuery( - `UPDATE ${Database.userPrefix}_avatar_history - SET created_at = @created_at, time = COALESCE(time, 0) - WHERE avatar_id = @avatar_id; - - INSERT INTO ${Database.userPrefix}_avatar_history (avatar_id, created_at, time) - SELECT @avatar_id, @created_at, 0 - WHERE NOT EXISTS (SELECT * FROM ${Database.userPrefix}_avatar_history WHERE avatar_id = @avatar_id)`, + `INSERT INTO ${Database.userPrefix}_avatar_history (avatar_id, created_at, time) + VALUES (@avatar_id, @created_at, 0) + ON CONFLICT(avatar_id) DO UPDATE SET created_at = @created_at`, { '@avatar_id': avatarId, '@created_at': new Date().toJSON() diff --git a/src/views/Favorites/components/FavoritesAvatarItem.vue b/src/views/Favorites/components/FavoritesAvatarItem.vue index 239fd782..a2adae17 100644 --- a/src/views/Favorites/components/FavoritesAvatarItem.vue +++ b/src/views/Favorites/components/FavoritesAvatarItem.vue @@ -121,6 +121,14 @@ +