Auto-responder for cases where profile is not yet loaded
This commit is contained in:
parent
40781a514d
commit
ecd253be78
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue