Skip to content

Releases: umzcio/zMeet

v1.15.0 — Audio-driven meeting detection (Teams lobby fix)

04 Jun 03:19

Choose a tag to compare

Fixes the Teams lobby bug at the root, and makes detection more reliable.

The bug: zMeet decided a meeting had ended from window titles. A Teams lobby/waiting room shows no meeting-titled window, so a wait longer than ~24s was misread as 'meeting ended' and the recording auto-stopped — right before you were admitted.

The fix: detection now keys off audio activity (how robust notetakers like Granola do it). Using macOS per-process Core Audio state, zMeet knows when Teams/Zoom is actually moving audio (a real call), independent of window titles:

  • No more lobby false-stops — a recording can only auto-stop after the call's audio has actually been running, so sitting in a lobby (any length) can never trigger it.
  • Mute-safe — muting yourself mid-meeting no longer risks a stop.
  • Auto-start fallback — if the window detector misses a meeting, zMeet now also offers to take notes when a call's audio starts.
  • Auto-stop now happens cleanly when the meeting's audio actually ends.

If audio detection ever can't tell, it errs toward not stopping — you'd just stop manually, never losing a meeting.

v1.14.0 — Better meeting notes

02 Jun 22:53

Choose a tag to compare

Quality improvements to the notes (and their Obsidian export).

  • "People", not "attendees". The frontmatter field that listed people is now people (people referenced in the meeting) instead of attendees — a transcript can't know who was actually present, so it no longer claims attendance.
  • Auto-titled meetings. In-person / manual recordings that came through as "Untitled Meeting" now get a short descriptive title generated from their notes — in the filename, the note, and zMeet's Library. You can still rename any meeting (Library → right-click → Rename…), and the rename now updates the Obsidian vault too (renames the note, removes the old one).
  • Smarter source. In-person meetings show source: In person instead of Unknown.
  • Less guessing in summaries. The summarizer no longer invents action-item owners or attributes statements to people unless the transcript clearly names them.

Existing notes keep their old fields until re-processed or re-published.

v1.13.2 — Backfill feedback

02 Jun 16:32

Choose a tag to compare

Small UX follow-up: "Publish all to vault" now shows a result message when it finishes — e.g. "All 5 meetings already in the vault." or "Published 2; 3 already in the vault." — instead of silently doing nothing when everything's already imported.

v1.13.1 — Backfill skips already-imported meetings

02 Jun 16:27

Choose a tag to compare

Follow-up to v1.13.0's "Publish all to vault."

  • No more re-importing. Re-running "Publish all to vault" now skips meetings already in the vault and only publishes new, renamed, or missing ones — no redundant re-export or re-extraction. A renamed meeting or a switched vault still re-publishes correctly.

v1.13.0 — Publish all to Obsidian

02 Jun 16:18

Choose a tag to compare

Backfill your existing meetings into Obsidian in one click.

New: "Publish all to vault" (Settings → Obsidian, shown when publishing is on + a vault is selected). Publishes every meeting already in your Library into the vault — frontmatter, summary, companion transcript, and [[people/projects/topics]] graph links — with a live "Publishing N of M…" progress count.

  • Reuses each meeting's saved transcript and notes — no re-transcribing or re-summarizing; it just adds the graph links.
  • Idempotent — safe to run again; it overwrites cleanly instead of duplicating.
  • Best-effort — skips any meeting without readable notes, never blocks.
  • Leaves zMeet's own notes in ~/Documents/zMeet untouched; it only writes the linked copies into your vault.

Set up a fresh vault and want your whole history in it? Enable Obsidian publishing, pick the vault, hit Publish all to vault.

v1.12.2 — Obsidian export polish

02 Jun 03:43

Choose a tag to compare

Small follow-up from a regression scan of v1.12.1.

  • Clean upgrade. Re-publishing a meeting that was exported under v1.12.0 (which named files by date only) no longer leaves a stale duplicate in your vault — the old note is removed before the new date+time note is written.
  • No double-processing. Re-processing the same meeting while its Obsidian publish is still finishing in the background is now ignored, avoiding redundant work.
  • Cleanup. Removed a leftover unused shell helper.

All findings were low severity; no data loss or crashes.

v1.12.1 — Obsidian export fixes + cleanup

02 Jun 03:29

Choose a tag to compare

Bug-fix release from a multi-agent code review of the v1.12.0 Obsidian export.

Fixes

  • No more vault overwrites. Two meetings on the same day with the same title (e.g. a recurring "Standup", or two untitled meetings) no longer overwrite each other's notes in the vault — filenames now include the time.
  • Backfill works. Re-processing an older meeting whose audio was already purged (retention/free-up) now reuses the saved transcript instead of failing, so you can back-fill old meetings into Obsidian after enabling the feature.
  • Snappier processing. The Obsidian publish now runs in the background after notes are saved, so the menu-bar icon returns to idle and the "notes ready" popup appears immediately even with cloud entity-extraction enabled.
  • Rename cleanup. Renaming a meeting and re-publishing removes the old vault note instead of leaving a stale duplicate.
  • No dangling links / cosmetic filename fixes. The transcript note is written before the main note (no broken [[link]] on a partial failure); sanitized filenames no longer leave stray double spaces.

Internal cleanup

  • Removed the dead legacy shell-command processing pipeline and other unused code (net −213 lines). Git auto-commit, previously wired only into that dead path, now runs on the live processing path for users who enable it.

v1.12.0 — Obsidian export

02 Jun 02:49

Choose a tag to compare

Obsidian linked-vault export (opt-in)

Publish a linked copy of each processed meeting into an Obsidian vault, turning your notes into a connected "network brain."

  • Linked notes — each meeting becomes a Markdown note with YAML frontmatter (date, source, duration, mode, attendees) plus [[wikilinks]] for the people, projects, and topics it surfaced, so Obsidian's graph connects meetings that share them.
  • Companion transcript note — the full transcript is written as a separate linked note.
  • Auto-detected vaults — Settings → Obsidian lists your existing Obsidian vaults in a dropdown (or choose a folder manually). Off by default.
  • Idempotent — re-processing a meeting overwrites the same two files in place; link nodes stay stable across meetings.
  • Best-effort — entity extraction runs on whichever summary engine is active (cloud or on-device) and never blocks or fails your notes.

zMeet writes plain Markdown directly into the vault folder — no account or login. Sync the vault across machines with your tool of choice (Drive, iCloud, Git, Obsidian Sync), and chat with it via Obsidian's own MCP.

v1.11.0

02 Jun 00:28

Choose a tag to compare

Quality-of-life fixes.

  • Full-meeting notes on-device: on-device summaries now cover the entire meeting via chunked summarization (previously long meetings were summarized from only their first ~15 minutes).
  • Dock presence: opening the Library or Settings now shows a Dock icon and keeps the window from getting lost when you switch apps; it returns to menu-bar-only when the window closes.
  • Processing indicator: the menu-bar icon now shows a distinct state while notes are being generated.
  • Fewer false stops: brief meeting-window blips (Teams password / waiting room) no longer stop a recording.
  • Copyable notes: meeting notes are now selectable/copyable, like the transcript.

Auto-updates via Sparkle.

v1.10.0

01 Jun 22:35

Choose a tag to compare

Recording modes + speaker labels.

  • Recording modes (Remote / Hybrid / In-person): each mode has its own capture profile — system-audio capture, microphone, mic gain, and noise reduction — set once and applied automatically when you record in that mode. Pick the mode from the start-recording prompt; Settings → Recording lets you tune each mode's profile. The mode is shown on each meeting in the Library.
  • Speaker labels (You vs Others): opt-in in Settings → Recording. For remote/hybrid meetings, zMeet records your mic and the other participants separately and produces a transcript that labels who spoke (You: / Others:), which also sharpens the summary. Fully on-device; the extra tracks are temporary and removed after processing.

Auto-updates via Sparkle.