feat(group-chat): add ephemeral visual pass indicator when bot passes turn
- Display a subtle centered system pill '[⏩ {bot} passed]' when a bot passes - Style with Material icon (Icons.Filled.FastForward) and surface tokens - Keep pass indicators strictly ephemeral to avoid polluting LLM prompt context - Exclude from cross-device snapshot sync so it disappears on restart/rehydrate - Add English and Arabic localized string resources - Update GroupChatViewModelTest to verify pass indicator presence and LLM filtering Co-authored-by: Luna <luna.m57@agentmail.to>
This commit is contained in:
1 parent
9288883de4
commit
1126cf1477
6 files changed
+79
-12
No files matched your search
@@ -266,9 +266,17 @@ class GroupChatViewModelTest {
|
||||
testScheduler.runCurrent()
|
||||
|
||||
val finalState = viewModel.uiState.value
|
||||
// Only the user message should remain; (pass) is filtered out
|
||||
assertEquals(1, finalState.messages.size)
|
||||
// User message plus the visual pass indicator
|
||||
assertEquals(2, finalState.messages.size)
|
||||
assertTrue(finalState.messages.first().isUser)
|
||||
val passMsg = finalState.messages.last()
|
||||
assertTrue(passMsg.isSystem)
|
||||
assertTrue(passMsg.isPass)
|
||||
assertEquals("Scout Bot", passMsg.senderDisplayName)
|
||||
assertEquals("Scout Bot passed", passMsg.text)
|
||||
|
||||
// LLM prompt history only considers non-system messages
|
||||
assertEquals(1, finalState.messages.filter { !it.isSystem }.size)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in new issue
Block a user