Commit 533f9e4
authored
fix(notes): cap live speaker count to expected count in note recordings (#967)
* fix(notes): cap live speaker count to expected count in note recordings
Normal note recordings default to one other speaker, but the live
transcript's per-segment 'Speaker N' labels climbed to 2, 3, 4, 5... as
recording continued, because the expected-speaker cap was not applied
consistently.
Renderer (meetingRecordingStore.ts): placeholder speaker ids were minted
without respecting the cap the backend enforces (expectedCount - 1):
- The system partial path minted a fresh speaker on every partial when
the partial id was null. Since the id is cleared after every final,
each utterance produced a new speaker, bypassing carry-forward reuse.
- assignProvisionalSpeaker minted unbounded on any gap > 8s.
Add mintPlaceholderSpeakerId() which clamps the index to expectedCount-1
and reuse the recent system speaker in the partial path before minting.
Backend (ipcHandlers.js): meeting-set-session-speaker-config set the
live identifier cap to expectedCount instead of expectedCount-1, so
changing the speaker stepper mid-recording allowed one extra cluster.
Cap at expectedCount-1 to match resolveSessionMaxSpeakers().
Cleanup (diarization.js): remove the unreachable orphan-speaker fallback
in mergeWithTranscript. The nearest-match loop always assigns a real
speaker (diarization output is parsed to speaker_N via regex, so every
cluster has a truthy id), making the fallback dead code that would also
mint past the cap if ever reached.
* fix(window): always follow cursor to active monitor on dictation
The recorder panel only repositioned to the cursor's display when
transitioning from hidden to visible. With the persistent floating
icon (default), the panel is always visible, so it never followed
the cursor across monitors. Always reposition on show — the method
already no-ops when the panel is already on the right display.1 parent 3c4ff0f commit 533f9e4
4 files changed
Lines changed: 23 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
462 | | - | |
463 | | - | |
464 | 462 | | |
465 | 463 | | |
466 | 464 | | |
| |||
505 | 503 | | |
506 | 504 | | |
507 | 505 | | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | 506 | | |
515 | 507 | | |
516 | 508 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7648 | 7648 | | |
7649 | 7649 | | |
7650 | 7650 | | |
7651 | | - | |
| 7651 | + | |
| 7652 | + | |
| 7653 | + | |
7652 | 7654 | | |
7653 | 7655 | | |
7654 | 7656 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1021 | 1021 | | |
1022 | 1022 | | |
1023 | 1023 | | |
1024 | | - | |
1025 | | - | |
1026 | | - | |
1027 | | - | |
1028 | | - | |
| 1024 | + | |
1029 | 1025 | | |
1030 | 1026 | | |
1031 | 1027 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
537 | 537 | | |
538 | 538 | | |
539 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
540 | 550 | | |
541 | 551 | | |
542 | 552 | | |
| |||
584 | 594 | | |
585 | 595 | | |
586 | 596 | | |
587 | | - | |
588 | | - | |
| 597 | + | |
589 | 598 | | |
590 | 599 | | |
591 | 600 | | |
| |||
888 | 897 | | |
889 | 898 | | |
890 | 899 | | |
891 | | - | |
892 | | - | |
893 | | - | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
894 | 907 | | |
895 | 908 | | |
896 | 909 | | |
| |||
0 commit comments