Skip to content

MeetingNotes 1.13.2 — Library startup fix and usability improvements

Choose a tag to compare

@dbbaskette dbbaskette released this 07 Oct 02:34
· 29 commits to main since this release
a728680

MeetingNotes 1.13.2

Release date: 2026-10-06

Version 1.13.2 fixes the blank window that could appear when opening a populated,
grouped Library. It also brings together the Settings, recoverable notes,
large-library, and Obsidian improvements merged since the last published release,
1.13.0. This is a source-only GitHub release: no DMG or ZIP binaries are uploaded.
The separately built local 1.13.2 installer is already available.

Fix: populated Library startup

The grouped Library could repeatedly measure its viewport and update React state
until React stopped rendering with Maximum update depth exceeded. Viewport
measurements are now coalesced per animation frame, and subpixel jitter does not
trigger unnecessary state changes. Scroll and resize handling share the same
scheduler, with pending work cancelled on cleanup.

The regression test exercises the actual Library view with 600 synthetic meetings,
three expanded groups, and 113 capture-recovery entries. It covers layout jitter,
window resizing, zoom, group collapse, and switching between organized and flat
views. This test reproduced the original crash before the fix.

Improvements since 1.13.0

  • Clearer Settings: searchable Recording, Processing, Organization,
    Integrations, Storage, and Advanced sections separate routine controls from
    technical endpoints and diagnostics.
  • Reliable saves: text fields save on blur with visible saving, saved, and
    failure/retry feedback. Per-setting writes are serialized, invalid values are
    rejected at runtime, and unsaved changes are protected. Folder settings use
    explicit Choose, Apply, and Cancel controls with restart guidance.
  • Pasted paths that work: quoted, tilde, and Terminal-escaped folder paths are
    normalized only when the resulting absolute directory exists. Existing literal
    filenames take precedence. Missing folders and invalid Obsidian vaults produce
    readable guidance instead of raw filesystem errors.
  • Recoverable notes and tasks: Notes & action-item history… compares and
    restores the latest 20 distinct saved versions per meeting. Existing content is
    preserved before edits, regeneration, re-extraction, and restore. Restoration
    includes completion status, owners, due dates, source quotes, and export markers
    while leaving audio and transcripts unchanged. Stale comparisons and active
    processing block restore; durable journals support interrupted recovery.
  • Lighter expanded groups: browse groups render viewport rows plus a buffer
    on one shared scroll surface, retaining focused rows and open-dialog owners.
    Collapse and Load more keep their existing fetch/pagination behavior; search
    snippets remain variable-height.
  • Incremental Obsidian sync: startup resumes outstanding work, and Sync
    pending / retry failed
    leaves already-synced exports alone. Recheck all
    notes
    explicitly requests a full scan. Changing transcript/action-item content
    choices requeues exports for that destination. Browse.md grouping is built in
    one pass while preserving the same links and date ordering.

See the Settings and recovery guide
and Obsidian sync guide.

Upgrade and recovery

  • Requires macOS 14.2+ on Apple Silicon.
  • If 1.13.1 opens to a blank window, use the new 1.13.2 installer. The fix does not
    require deleting or resetting your meeting library.
  • Upgrading from 1.13.0 adds migration 20, which stores local notes history.
    A library already opened with 1.13.1 needs no additional migration for 1.13.2.
    Existing recordings and group assignments are not relocated.
  • Back up the complete library, including db.sqlite with MeetingNotes closed,
    and your Obsidian vault before upgrading. A full rollback across the schema
    change requires the matching pre-upgrade library backup; downgrading only the
    app does not undo migrations or external exports.
  • Applying a different storage path does not move existing library files.
  • History is limited to 20 versions, not a task-by-task audit log. Restoring local
    tasks does not undo changes in Reminders, Google Tasks, or other export systems.
    Deleted roster owners become unassigned rather than being recreated. Unsaved
    drafts are not history versions.
  • Obsidian sync remains optional and one-way. Personal annotations and conflict
    safeguards remain in place; externally synced vaults may distribute exported
    content beyond this Mac. The remote-processing beta is not part of this release.

Verification

  • Full local CI in a disposable macOS 27.0 arm64 VM: 999 tests passed, 6 skipped.
    Main/preload production build, renderer and fixture type checks, changed-file
    lint, Browse benchmark, native dependency rebuilds, and renderer fixtures passed.
  • Grouped Library, native focus retention, selection/paging, collapse, Settings
    save/error/retry/path handling, and notes comparison/restore checks passed.
  • The DMG's actual production App/Library renderer passed the populated-Library
    fixture on this Mac and in a clean VM using synthetic data and a test-only IPC
    bridge. The packaged main/preload separately passed startup, permission-gate,
    version, Settings persistence/validation, database, and bundled-sidecar health
    checks. No user meetings, vaults, accounts, or recording workflows were used.
  • DMG integrity, signing, ZIP compressed-data integrity, and SHA-256 checks passed.
    All task-owned disposable VMs were deleted; logs were retained locally.
  • Synthetic measurements from the large-library work reduced 3,000 mounted rows
    to 14 and improved Browse generation by approximately 4x on the host while
    producing identical output. These fixture results are not production guarantees.

The local installer is signed with an Apple Development certificate; Apple
notarization is not configured. Live audio capture and live Obsidian rendering
were not exercised during this release verification.

Local installers

Build from v1.13.2 with npm run dist. Outputs:

  • release/MeetingNotes-1.13.2-arm64.dmg
  • release/MeetingNotes-1.13.2-arm64-mac.zip

Creating this GitHub release does not install, replace, or restart the app on your
Mac. GitHub provides its normal source archives; binary release assets are omitted.

Full comparison: v1.13.0 → v1.13.2