summaryrefslogtreecommitdiff
path: root/makima/src/server/handlers
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-15 00:05:20 +0000
committersoryu <soryu@soryu.co>2026-01-15 01:30:02 +0000
commitb8035a7bc86dfb40af66f80e0564a41b8c6f7ba8 (patch)
tree59223bc7b3ec88c5ced42ed77f419e9fc4501941 /makima/src/server/handlers
parenteae8e698e89d7e5c8dc5bcdb2dcef61f25295515 (diff)
downloadsoryu-b8035a7bc86dfb40af66f80e0564a41b8c6f7ba8.tar.gz
soryu-b8035a7bc86dfb40af66f80e0564a41b8c6f7ba8.zip
feat(listen): add transcript analysis UI panel
Add UI integration for the transcript analysis feature: - Add TranscriptSaved WebSocket message type to notify client when transcript is saved - Create TranscriptAnalysisPanel component to display analysis results - Shows requirements grouped by category, decisions, action items with priorities - Displays speaker statistics and suggested contract name/description - Provides buttons to create new contract or add to existing contract - Update Listen page to show analysis panel as modal overlay after recording stops - Update useWebSocket hook to handle transcriptSaved message Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/server/handlers')
-rw-r--r--makima/src/server/handlers/listen.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/makima/src/server/handlers/listen.rs b/makima/src/server/handlers/listen.rs
index 524c48a..e1bc30e 100644
--- a/makima/src/server/handlers/listen.rs
+++ b/makima/src/server/handlers/listen.rs
@@ -553,6 +553,16 @@ async fn handle_socket(socket: WebSocket, state: SharedState) {
deduplicated_count = final_entries.len(),
"Saved final transcript to file"
);
+
+ // Send TranscriptSaved message to client
+ if let Some(contract_id) = target_contract_id {
+ let _ = response_tx
+ .send(ServerMessage::TranscriptSaved {
+ file_id: fid.to_string(),
+ contract_id: contract_id.to_string(),
+ })
+ .await;
+ }
}
Err(e) => {
tracing::error!(