diff --git a/modules/features/teamsbot/service.py b/modules/features/teamsbot/service.py index 01f84ae7..e481bf86 100644 --- a/modules/features/teamsbot/service.py +++ b/modules/features/teamsbot/service.py @@ -565,6 +565,7 @@ class TeamsbotService: if ( source == "speakerHint" and isFinal + and not self._isBotSpeaker(speaker) and self.config.responseMode != TeamsbotResponseMode.TRANSCRIBE_ONLY ): shouldTriggerFromHint = self._shouldTriggerAnalysis(text, allowPeriodic=False) @@ -587,8 +588,9 @@ class TeamsbotService: return # Chat history: messages sent before the bot joined the meeting. - # Stored in DB and context (available if someone refers to chat history) - # but never used to trigger AI responses. + # Stored in DB for reference but NOT added to the AI context buffer, + # because old messages (e.g. "nyla, summarize the protocol") would + # be treated as current requests when AI analysis is triggered. if source == "chatHistory": transcriptData = TeamsbotTranscript( sessionId=sessionId, @@ -601,16 +603,6 @@ class TeamsbotService: ).model_dump() createdTranscript = interface.createTranscript(transcriptData) - self._contextBuffer.append({ - "speaker": speaker or "Unknown", - "text": text, - "timestamp": getUtcTimestamp(), - "source": "chatHistory", - }) - maxSegments = self.config.contextWindowSegments - if len(self._contextBuffer) > maxSegments: - self._contextBuffer = self._contextBuffer[-maxSegments:] - await _emitSessionEvent(sessionId, "transcript", { "id": createdTranscript.get("id"), "speaker": speaker,