Files

14 lines
2.3 KiB
TypeScript

import { VersionInfo } from '@start9labs/start-sdk'
export const v_0_2_108 = VersionInfo.of({
version: '0.2.108:0',
releaseNotes: {
en_US:
"Internal Meetings — three improvements. (1) Topic timestamp ranges now display contiguously like Recaps does for YouTube + podcasts. Earlier versions showed each topic's range as 'first entry's offset — LAST entry's offset', which left visible gaps even though v0.2.107 made the entries themselves contiguous. Now the displayed end equals the next topic's start (last topic extends to the full audio duration) so consecutive topic cards read as adjacent timeline ranges. Applies to the dashboard detail view + .html + .md downloads. (2) Click-to-rename for speakers in the legend. The polish-pass name inference is a best-guess from early-meeting context — on internal calls where participants rarely say each other's names, or two people share a first name, it often gets things wrong. Now you can click any speaker name in the legend, type the correction (Enter to save / Escape to cancel), and the new name flows everywhere — chips on every transcript line, the legend, and .md / .html / .json downloads. Persists to rec.speaker_names server-side via PATCH /admin/internal-meetings/:id/speakers. Speaker_Unknown stays read-only (it's a catch-all bucket, not a real person). Speaker MERGES (two cluster IDs are actually one person) are tracked as a separate follow-up — for now, two clusters renamed to the same display name show identical legend labels but stay as distinct chips on per-line attribution. (3) Speech-detection percentage indicator. The legend's header now shows '<X>% speech detected' next to the click-to-rename hint when speaker times sum to less than the call's audio duration — Sortformer skips silence, pauses, and low-volume audio, so the speaking totals naturally undershoot wall-clock duration. This makes the gap explicit so it's not mysterious why six speakers totalling 60 minutes appear on a 90-minute call. Diarization quality tuning (cluster threshold + suppression knobs) remains in Settings → Operator hardware for operator iteration; cross-call speaker fingerprint memory (so renamed speakers are auto-recognized in future calls) is on the roadmap.",
},
migrations: {
up: async ({ effects }) => {},
down: async ({ effects }) => {},
},
})