feat(web-ui): add pinned sessions and live monitor in Chat (#118)

* feat: add single-page live session monitor and chat pinning

* fix: restore full test green after main merge

* fix: use Array.from instead of Set spread for ts-node compatibility

[...new Set()] requires downlevelIteration which isn't enabled in
ts-node dev mode, causing sonic-boom crash on startup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: ekko <fqsy1416@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Zhicheng Han
2026-04-22 02:09:58 +02:00
committed by GitHub
parent 83ad9642e2
commit 3f88553765
34 changed files with 2497 additions and 278 deletions
+16 -1
View File
@@ -73,7 +73,18 @@ export default {
deleteSession: 'Excluir esta sessao?',
sessionDeleted: 'Sessao excluida',
rename: 'Renomear',
copySessionId: 'Copiar ID da sessao',
pin: 'Fixar',
unpin: 'Desafixar',
pinned: 'Fixadas',
chatMode: 'Chat',
liveMode: 'Ao vivo',
liveSessions: 'Sessões ao vivo',
recentBadge: 'Recente',
linkedSessions: '{count} vinculadas',
noVisibleMessages: 'Nenhuma mensagem visível para humanos.',
monitorRoleUser: 'Usuário',
monitorRoleAssistant: 'Assistente',
copySessionId: 'Copiar ID da sessão',
renamed: 'Renomeado',
renameFailed: 'Falha ao renomear',
renameSession: 'Renomear sessao',
@@ -338,6 +349,10 @@ export default {
idleMinutes: 'Timeout de inatividade',
idleMinutesHint: 'Tempo de espera antes da reinicializacao automatica (minutos)',
atHour: 'Horario de reinicializacao agendada',
humanOnly: 'Mostrar apenas sessões humanas',
humanOnlyHint: 'Oculta por padrão o ruído de subagentes e do monitor de sessões',
liveMonitorHumanOnly: 'Monitor ao vivo: mostrar apenas sessões humanas',
liveMonitorHumanOnlyHint: 'Oculta por padrão o ruído de subagentes e do monitor de sessões no monitor ao vivo',
atHourHint: 'Reiniciar sessao neste horario diariamente',
},
privacy: {