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;
}
void core.cache.queueForFetching(character.name);
conv = new PrivateConversation(character);
this.privateConversations.push(conv);
this.privateMap[key] = conv;

View File

@ -27,10 +27,8 @@
<match-tags v-if="match" :match="match"></match-tags>
<div class="filter-matches" v-if="smartFilterIsFiltered">
<h4>Smart Filter Matches</h4>
<span class="tags">
<span v-for="filterName in smartFilterDetails" class="smart-filter-tag" :class="filterName">{{ (smartFilterLabels[filterName] || {}).name }}</span>
<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>
</div>
@ -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 {

View File

@ -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}

View File

@ -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);
}
}
}
}

View File

@ -798,7 +798,9 @@ export const kinkComparisonSwaps: Record<any, number> = {
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
};