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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user