Auto-responder for cases where profile is not yet loaded

This commit is contained in:
Mr. Stallion 2022-08-08 20:11:13 -07:00
parent 40781a514d
commit ecd253be78
5 changed files with 17 additions and 24 deletions

View File

@ -545,6 +545,8 @@ class State implements Interfaces.State {
return; return;
} }
void core.cache.queueForFetching(character.name);
conv = new PrivateConversation(character); conv = new PrivateConversation(character);
this.privateConversations.push(conv); this.privateConversations.push(conv);
this.privateMap[key] = conv; this.privateMap[key] = conv;

View File

@ -27,10 +27,8 @@
<match-tags v-if="match" :match="match"></match-tags> <match-tags v-if="match" :match="match"></match-tags>
<div class="filter-matches" v-if="smartFilterIsFiltered"> <div class="filter-matches" v-if="smartFilterIsFiltered">
<h4>Smart Filter Matches</h4> <span class="matched-tags">
<span v-for="filterName in smartFilterDetails" class="mismatch smart-filter-tag" :class="filterName"><i class="fas fa-solid fa-filter"></i> {{ (smartFilterLabels[filterName] || {}).name }}</span>
<span class="tags">
<span v-for="filterName in smartFilterDetails" class="smart-filter-tag" :class="filterName">{{ (smartFilterLabels[filterName] || {}).name }}</span>
</span> </span>
</div> </div>
@ -471,8 +469,7 @@ export default class CharacterPreview extends Vue {
.status-message, .status-message,
.latest-ad-message, .latest-ad-message,
.conversation, .conversation {
.filter-matches {
display: block; display: block;
background-color: rgba(0,0,0,0.2); background-color: rgba(0,0,0,0.2);
padding: 10px; padding: 10px;
@ -481,20 +478,7 @@ export default class CharacterPreview extends Vue {
} }
.filter-matches { .filter-matches {
.tags { margin-top: 0.75em;
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;
}
} }
.character-avatar { .character-avatar {

View File

@ -14,7 +14,7 @@ import { NoteCheckerCount } from '../../site/note-checker';
* 'imagepreview-show': {url: string} * 'imagepreview-show': {url: string}
* 'imagepreview-toggle-stickyness': {url: string} * 'imagepreview-toggle-stickyness': {url: string}
* 'character-data': {character: Character} * 'character-data': {character: Character}
* 'character-score': {character: Character, score: number} * 'character-score': {character: Character, score: number, isFiltered: boolean}
* 'private-message': {message: Message} * 'private-message': {message: Message}
* 'channel-ad': {message: Message, channel: Conversation, profile: ComplexCharacter | undefined} * 'channel-ad': {message: Message, channel: Conversation, profile: ComplexCharacter | undefined}
* 'channel-message': {message: Message, channel: Conversation} * 'channel-message': {message: Message, channel: Conversation}

View File

@ -128,7 +128,8 @@ export class CacheManager {
'character-score', 'character-score',
{ {
character: c, character: c,
score score,
isFiltered
} }
); );
@ -144,7 +145,11 @@ export class CacheManager {
const conv = core.conversations.getPrivate(char, true); const conv = core.conversations.getPrivate(char, true);
if (conv && conv.messages.length > 0 && Date.now() - _.last(conv.messages)!.time.getTime() < 3 * 60 * 1000) { 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);
}
} }
} }
} }

View File

@ -798,7 +798,9 @@ export const kinkComparisonSwaps: Record<any, number> = {
513: 515, // cunnilingus giving -> receiving 513: 515, // cunnilingus giving -> receiving
515: 513, // cunnilingus receiving -> giving 515: 513, // cunnilingus receiving -> giving
141: 158, // oral sex giving -> receiving 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
}; };