diff --git a/chat/conversations.ts b/chat/conversations.ts index bc60431..2713bf5 100644 --- a/chat/conversations.ts +++ b/chat/conversations.ts @@ -545,6 +545,8 @@ class State implements Interfaces.State { return; } + void core.cache.queueForFetching(character.name); + conv = new PrivateConversation(character); this.privateConversations.push(conv); this.privateMap[key] = conv; diff --git a/chat/preview/CharacterPreview.vue b/chat/preview/CharacterPreview.vue index cff4429..b053a8b 100644 --- a/chat/preview/CharacterPreview.vue +++ b/chat/preview/CharacterPreview.vue @@ -27,10 +27,8 @@
-

Smart Filter Matches

- - - {{ (smartFilterLabels[filterName] || {}).name }} + + {{ (smartFilterLabels[filterName] || {}).name }}
@@ -471,8 +469,7 @@ export default class CharacterPreview extends Vue { .status-message, .latest-ad-message, - .conversation, - .filter-matches { + .conversation { display: block; background-color: rgba(0,0,0,0.2); padding: 10px; @@ -481,20 +478,7 @@ export default class CharacterPreview extends Vue { } .filter-matches { - .tags { - margin-top: 10px; - display: block; - } - - .smart-filter-tag { - display: inline-block; - color: var(--messageTimeFgColor); - margin-right: 4px; - background-color: var(--messageTimeBgColor); - border-radius: 2px; - padding-left: 3px; - padding-right: 3px; - } + margin-top: 0.75em; } .character-avatar { diff --git a/chat/preview/event-bus.ts b/chat/preview/event-bus.ts index e214d90..5b4f549 100644 --- a/chat/preview/event-bus.ts +++ b/chat/preview/event-bus.ts @@ -14,7 +14,7 @@ import { NoteCheckerCount } from '../../site/note-checker'; * 'imagepreview-show': {url: string} * 'imagepreview-toggle-stickyness': {url: string} * 'character-data': {character: Character} - * 'character-score': {character: Character, score: number} + * 'character-score': {character: Character, score: number, isFiltered: boolean} * 'private-message': {message: Message} * 'channel-ad': {message: Message, channel: Conversation, profile: ComplexCharacter | undefined} * 'channel-message': {message: Message, channel: Conversation} diff --git a/learn/cache-manager.ts b/learn/cache-manager.ts index 8ec5724..6a57959 100644 --- a/learn/cache-manager.ts +++ b/learn/cache-manager.ts @@ -128,7 +128,8 @@ export class CacheManager { 'character-score', { character: c, - score + score, + isFiltered } ); @@ -144,7 +145,11 @@ export class CacheManager { const conv = core.conversations.getPrivate(char, true); if (conv && conv.messages.length > 0 && Date.now() - _.last(conv.messages)!.time.getTime() < 3 * 60 * 1000) { - await testSmartFilterForPrivateMessage(char); + const allMessagesFromThem = _.every(conv.messages, (m) => ('sender' in m) && m.sender.name === conv.character.name); + + if (allMessagesFromThem) { + await testSmartFilterForPrivateMessage(char); + } } } } diff --git a/learn/matcher-types.ts b/learn/matcher-types.ts index 3ddc17e..e68b6fc 100644 --- a/learn/matcher-types.ts +++ b/learn/matcher-types.ts @@ -798,7 +798,9 @@ export const kinkComparisonSwaps: Record = { 513: 515, // cunnilingus giving -> receiving 515: 513, // cunnilingus receiving -> giving 141: 158, // oral sex giving -> receiving - 158: 141 // oral sex receiving -> giving + 158: 141, // oral sex receiving -> giving + 512: 514, // fellatio performing -> fellatio receiving + 514: 512 // fellatio receiving -> fellatio performing };