Skip to content

Releases: codemyriad/cassini-gnome

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 16:58
0579cb5

Cassini is now called Cassini talk. Your Library stays in Music/Cassini.

  • Recording starts reliably when the computer is silent: the other people's
    side waits for the first sound instead of failing the start
  • When a microphone or the computer's sound cannot open, Cassini says why and
    keeps recording what did open; if nothing opened, no empty meeting is left
    behind. Quit no longer waits for a microphone that never delivers audio
  • Silent sources are saved as exact silence, so writing down and speaker
    separation skip them instead of reading noise
  • Every part of Cassini places each track at the same start, so playback,
    transcripts and speakers line up; words stay inside the time a person was
    present, and a turn never spans a gap. Cassini for Mac passes the same check
  • Browser meetings: set up the companion from Cassini, connect in the
    background, keep recording through page reloads, record automatically only
    once a call has really started, and record with no window open. Browser and
    computer audio share one clock, even when the system clock is adjusted
    during a meeting. The companion is now version 0.2.13: a long silent stretch
    no longer slows a browser recording's clock
  • GNOME and Mac pass the same end-to-end tests: a recording followed live
    while it is in progress (shared test 2), and the same three outcome files
    (shared test 8)
  • While recording: a live spectrogram for each side, Recording details that
    show what is being captured, a warning when muted output would silence the
    computer's sound, and a test recording to check your setup
  • Library: move meetings to Trash with five seconds to undo, rename with F2,
    and keep each saved meeting as a portable Cassini file
  • Writing down shows its progress before the first words, reads a track again
    without voice detection when it finds too few words there, and names the app
    version when it downloads models
  • Translated into Italian, French, Spanish and Portuguese (Brazil and Portugal)
  • Many capture fixes: interrupted and re-anchored inputs, frozen browser
    connections, and a live spectrum that no longer stops after the window
    stalls

What's Changed

  • Move saved meetings to Trash with five-second Undo by @silviot in #98
  • Wait for inbound call evidence before automatic recording by @silviot in #97
  • Pin reviewed call evidence and gate shared auto-start vectors by @silviot in #99
  • Keep row menu actions connected until activation finishes by @silviot in #100
  • Prepare saved voices for older meetings and explain missing models by @silviot in #101
  • Remove timestamped notes from the Recording page by @silviot in #102
  • Apply the recording title caret fix to main by @silviot in #106
  • Make custom recording and playback buttons accessible by @silviot in #105
  • Connect to the browser in the background by @silviot in #107
  • Show writing progress before the first transcript words by @silviot in #109
  • Ask before enabling the global recording shortcut by @silviot in #108
  • Balance the empty Library heading by @silviot in #111
  • Keep the Flatpak Library when XDG Music is unavailable by @silviot in #104
  • Restore Keyboard Shortcuts in the Library menu by @silviot in #110
  • Keep a new recording visible when an older capture finishes by @silviot in #112
  • Make the microphone tone gate tolerate clock phase corrections by @silviot in #113
  • Keep exports outside Flatpak’s temporary home and show success by @silviot in #114
  • D35: Rename saved meetings from either menu or F2 by @silviot in #115
  • D35: Cancel on Escape and explicit background recording permission by @silviot in #116
  • D37: align GNOME consent, browser states and saved meeting journeys by @silviot in #117
  • Prevent the delayed GTK warning during Rename saves by @silviot in #119
  • Show Recording details with live capture and writing-down facts by @silviot in #96
  • Fix playback speed and harden companion setup responsiveness by @silviot in #122
  • Add the browser companion from Cassini (D39) by @silviot in #123
  • Restore automatic names and clean displayed quotation marks by @silviot in #118
  • Restart installed updates safely and heal dead browser registrations by @silviot in #127
  • Keep browser service tests out of the user's library by @silviot in #126
  • Library v2 step 2: every track reader accepts WAV and compacted Opus spans (S-12 §5) by @silviot in #128
  • Library v2 step 3a: names, journal, durable publish, mixdown and finalize (S-12) by @silviot in #130
  • Library v2: direct regression tests for #130's commit guards by @silviot in #131
  • Keep the browser control link open and keep stopped calls stopped by @silviot in #125
  • D45: rename Cassini talk and migrate existing installations by @silviot in #129
  • Finish Quit when a microphone never produces audio by @silviot in #132
  • Keep browser recording batches inside the app request timeout by @silviot in #134
  • Background Apps for windowless automatic recording (D41) by @silviot in #124
  • Keep browser recordings through reloads and save how they ended by @silviot in #121
  • Keep browser meeting identities and queued work across reconnects by @silviot in #133
  • Preserve capture identity and stopping in tab-scoped browser status by @silviot in #135
  • Bump GitHub Actions to current majors by @silviot in #136
  • Warn when muted output silences a system recording by @silviot in #138
  • Publish stopped captures as Library Cassini files by @silviot in #137
  • Complete the clean Cassini talk rename (D45.2 / D51) by @silviot in #140
  • ci: align rolling openSUSE container snapshots by @silviot in #141
  • Draft: recording spectrogram (D36.1) by @silviot in #139
  • test: synchronize broker meter delivery and fixture clocks by @silviot in #142
  • Adopt D52 multistream capture accounting and lifecycle by @silviot in #143
  • Draft source diagnostics in portable meeting files by @silviot in #144
  • D50: Localize Cassini talk in six languages by @silviot in #145
  • Bound recognition timestamps to each source audio extent by @silviot in #146
  • Add producer drop counts to the recorded span instead of replacing them by @silviot in #147
  • Never expect an announced page microphone when Me is recorded natively by @silviot in #150
  • Record gap ranges and derive presence without reading PCM (D52.2, G6) by @silviot in #148
  • Raise the pytest suite deadline to 360 s by @silviot in #152
  • Bump actions/setup-node from 6 to 7 by @dependabot[bot] in #154
  • Pin the test-Library isolation protocol (#30) by @silviot in #153
  • Close frozen browser transports on deadlines instead of waiting for EOF (G7, part A) by @silviot in #151
  • Decode a track without VAD when its VAD pass finds too few words (G10) by @silviot in #149
  • Record when a write-down assumed a track's start at 0 (D55) by @silviot in #158
  • Compute ActivityMeter.inside() once per frame count by @silviot in #159
  • Name the app and its version in every model download (D54) by @silviot in #157
  • G12: tie voice names to the diarization input (voiceSource) by @silviot in #160
  • Wait for the picker paste before Open in companion-instal...
Read more

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 12:38
c237e7e

What's Changed

  • Fix Library contrast, transcript routing and playback lifecycle by @silviot in #14
  • UX-play: mix and seek recording-folder audio from the Library by @silviot in #10
  • Keep live recordings and Library previews responsive by @silviot in #15
  • Spike: bundle pinned Whistle and prove offline Mac parity by @silviot in #16
  • UX3: read meetings in the Library with timed playback by @silviot in #17
  • UX5: record native audio straight into the Library by @silviot in #18
  • UX13: write meetings down with the shared offline pipeline by @silviot in #19
  • Fix resumable shutdown and stop-and-save exit by @silviot in #20
  • Stream long received audio through bounded child PCM blocks by @silviot in #21
  • Protect Library write boundaries and retain validated speaker identity by @silviot in #22
  • Bound transcript publication and keep live reading stable by @silviot in #23
  • Finish close when capture ends behind its confirmation by @silviot in #24
  • Ship offline writing down (Whistle) in every package by @silviot in #25
  • Preserve Meeting playback across background Library refreshes by @silviot in #27
  • Fix capture close holds, finalization and saved queue intent by @silviot in #26
  • Keep Stop responsive while independent audio sources finish by @silviot in #29
  • Keep partial transcript intact while Try again catches up by @silviot in #28
  • Add the Recording page and controls for hidden capture by @silviot in #30
  • Ship a private, pinned ONNX Runtime instead of the distribution's by @silviot in #31
  • Import received meetings and add Cassini/Markdown export by @silviot in #32
  • Search every meeting with phrase matches and D14 filters by @silviot in #33
  • Add verified resumable model download core by @DrMeyers in #34
  • Keep model removal inside the configured store by @DrMeyers in #36
  • Bring the README up to date with what Cassini does today by @silviot in #37
  • Complete native Preferences and durable Library relocation by @DrMeyers in #35
  • Preserve capture failure evidence before pipeline teardown by @DrMeyers in #39
  • Document GPL licence for vendored browser files by @DrMeyers in #38
  • Fix hidden capture completion and window lifetime by @DrMeyers in #40
  • Protect model storage and HTTP resume checkpoints by @DrMeyers in #43
  • Fail export on streaming read errors at EOS by @DrMeyers in #42
  • Preserve detailed failures in the native GTK capture probe by @DrMeyers in #45
  • Keep Search cache transactions and playback consistent by @DrMeyers in #44
  • Preserve recording notes and pending title edits by @DrMeyers in #46
  • Validate received imports before Library publication by @DrMeyers in #41
  • Keep the last browser capture observer owned until save by @DrMeyers in #48
  • Use current meeting metadata in Export without GTK file IO by @DrMeyers in #47
  • Use a monotonic clock for independent Pulse capture sources by @DrMeyers in #49
  • Add pinned Parakeet Ultra worker and offline golden proofs by @DrMeyers in #50
  • Download Parakeet in Preferences and choose models per job by @DrMeyers in #51
  • Export recovered recordings with honest dates and offsets by @DrMeyers in #52
  • Reuse green main release packages and retain full CI coverage by @DrMeyers in #53
  • Orchestrate CI areas and share verified build profiles by @DrMeyers in #54
  • Ship the pinned Parakeet runtime in Linux packages by @silviot in #55
  • Run engine and Library gates for imported source changes by @silviot in #56
  • Keep pinned note times intact through undo and line edits by @silviot in #57
  • Keep capture ownership when auxiliary windows close by @silviot in #59
  • Recover damaged model installs and completed download state by @silviot in #58
  • Render Settings boards with installed speech runtimes by @silviot in #61
  • Clean review docs and omit caches from test image context by @silviot in #62
  • Keep Library row timers on the native capture clock by @silviot in #63
  • Keep received source symlinks visible to no-follow opens by @silviot in #60
  • Record browser meetings through the Library and companion setup by @silviot in #64
  • Declare libzstd for model downloads in every native package by @silviot in #66
  • Add What is recorded controls and automatic system-sound fallback by @silviot in #65
  • Enable the browser companion in Flatpak with isolated host relays by @silviot in #67
  • Keep native recording intact when a source change fails by @silviot in #70
  • Keep Flatpak startup responsive and retry the browser bridge by @silviot in #71
  • Constrain relay networking and cover board test dependencies by @silviot in #72
  • Stop ended browser calls and bound fallback recovery by @silviot in #68
  • Keep browser recording intact when a source change fails by @silviot in #69
  • UX15: tell speakers apart with optional Nemotron by @silviot in #73
  • UX16: name speakers, merge voices and undo merges by @silviot in #74
  • Bring the README up to date with Waves 5 to 7 by @silviot in #75
  • Keep native recording clocks active without the browser bridge by @silviot in #76
  • Keep cancelled diarization resumable without late transcript writes by @silviot in #77
  • Bound fallback lifetime when a browser peer disappears before status by @silviot in #79
  • Keep browser PCM flowing after rejected source changes by @silviot in #80
  • Cancel pending native source changes when Stop is requested by @silviot in #81
  • Isolate Flatpak host probes and stop retrying missing permission by @silviot in #82
  • Keep cleared source speaker names through writing down by @silviot in #78
  • Make model-control GUI readiness checks deterministic by @silviot in #83
  • UX17: recognise and manage saved voices locally by @silviot in #84
  • Preserve native input gaps without turning clock drift into silence by @silviot in #85
  • Keep confirmed saved voices through Merge and Undo by @silviot in #87
  • Preserve saved voice meeting links while the Library is unavailable by @silviot in #88
  • Preserve voice associations and respect explicit naming intent by @silviot in #89
  • Finish voice jobs atomically and recompute Undo after navigation by @silviot in #90
  • Keep saved-voice dialogs, Search badges and sample cleanup accurate by @silviot in #91
  • Describe saved voices in the README by @silviot in #92
  • D...
Read more

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 20:22
30cf329

What's Changed

  • W1-G3: isolated screenshot harness spike for the current GNOME window by @silviot in #5
  • Wait for real audio readiness and sample counts in recording tests by @silviot in #7
  • UX1a: derive a read-only Library model from capture and Received folders by @silviot in #6
  • Complete multi-distro packaging and release 0.2.0 by @silviot in #8
  • UX1b: Library shell, meeting previews and first run by @silviot in #9
  • Polish Library live header and row text to shared R11 by @silviot in #11
  • Fix post-merge review findings in packaging and the player by @silviot in #12
  • Rewrite the README for people who use Cassini by @silviot in #13

New Contributors

Full Changelog: v0.1.1...v0.2.0

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 11:11