Skip to content

[BUG] Locked custom dealers appear as empty Messages conversations #269

Description

@ifBars

Summary

A custom dealer configured as locked is inserted into the Messages app immediately as an empty conversation. The relationship remains locked, but the visible thread makes the dealer appear discovered before recommendation/unlock.

Verified against origin/stable at 0e84659 and S1API.Forked 3.1.15.

Reproduction

builder
    .EnsureDealer()
    .WithRelationshipDefaults(relationship => relationship
        .SetUnlocked(false)
        .SetUnlockType(NPCRelationship.UnlockType.Recommendation));

Load a save before the custom dealer has been unlocked, then open Messages.

Observed

The dealer has a visible, empty Messages entry even though Relationship.IsUnlocked is false.

NPCDealer.EnsureDealerCategory() calls NPC.SetConversationCategory(Dealer) with the default ensureUi: true. That calls MSGConversation.EnsureUIExists() during dealer initialization. ConversationCanBeHidden only controls whether a created entry may be hidden; it does not keep the entry hidden, and the public messaging wrapper does not expose entry visibility.

Expected

  • The conversation may be categorized as Dealer before unlock.
  • A locked dealer should not have a visible Messages entry.
  • Unlocking/recommending the dealer or receiving their first message should create/show the entry with the correct dealer category.
  • Existing unlocked/saved dealers should remain visible.

Suggested direction

Avoid eagerly ensuring UI when categorizing a locked dealer, then ensure/show the conversation when the relationship unlocks. Please cover both Mono and IL2CPP, including save/load hydration and the dealer category badge.

Activity

  1. added
    bugSomething isn't working
    npcsNative game NPC system
    HighAPI features not working, or minor gameplay hinderance
    on Aug 14, 2026
  2. changed the title [-]Locked custom dealers appear as empty Messages conversations[/-] [+][BUG] Locked custom dealers appear as empty Messages conversations[/+] on Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    HighAPI features not working, or minor gameplay hinderancebugSomething isn't workingnpcsNative game NPC system

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions