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:
M57andLuna committed 2026-09-04 15:20:56 +03:00
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