Dialogue scope v2: fix multi-NPC conversations broken by the cross-NPC bleed filter (#558 follow-up) - #568
Conversation
…oundary listener match; player-addressed lines public
|
If you play in another language this won't work, as "talking to .." will be replaced by teh translated sentence. |
|
The original problem wasn't access, it was bystanders echoing NPC-to-NPC verbatim lines back at each other. Pure people-based access may reintroduce that, since a bystander present in the scene is legitimately in "people". I didn't think about the language issue....that's a gap. |
|
then i still don't know what the problem is. Could you provide a log sample (context_sent_to_llm.log) where this is happening. VIa discord. |
|
Yeah... I've stopped the issue on my end...its been a while since I heard
it occur...so it may take a bit to even find logs where it occurred...but
I'll dig. I'll hit you up on discord.
…On Wed, Jul 15, 2026, 7:30 AM abeiro ***@***.***> wrote:
*abeiro* left a comment (abeiro/HerikaServer#568)
<#568 (comment)>
then i still don't know what the problem is. Could you provide a log
sample (context_sent_to_llm.log) where this is happening. VIa discord.
—
Reply to this email directly, view it on GitHub
<#568?email_source=notifications&email_token=BVLYWETWQN657HL3F4BJSKD5E5TO7A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOJYGAYDGOBYGM22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4980038835>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BVLYWEW4D4TYZVGSHFOCCOT5E5TO7AVCNFSNUABFKJSXA33TNF2G64TZHM3DSMZXHA3DGNBYHNEXG43VMU5TIOBVHA4DIOBYHA22C5QC>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
What
Follow-up to #558. Lorkhan flagged that the cross-NPC dialogue filter breaks multi-NPC conversations - he's right, and this repairs it while keeping the original bleed protection.
The defects in v1 (#558)
(talking to <them>). In player-led 3-ways and rechat rounds, every co-participant line was dropped - each NPC remembered only its own dialogue. It looked fine in play because rechat hands the previous line as direct input (origin_line), so turn-to-turn worked; what silently died was shared memory beyond one hop (repetition/incoherence in longer rounds).(talking to Fironet, Ahtar)failed theilike '%(talking to Fironet)%'test for BOTH addressees - the pattern demanded a closing paren right after the name.The fix
rechat/narration/continue/continue_group) skip the dialogue filter entirely - every participant needs the whole round in history.data ~* '\(talking to [^)]*\mNAME\M'), so comma lists and suffixes like(busy)reach every listed listener. Names go throughpreg_quote+ SQL escaping (apostrophes/hyphens safe).Testing
(busy)suffix): all pass.buildHistoricContextexecutes on both normal and group-round turns, including an apostrophe+hyphen actor name through the escaping.php -lclean.