Skip to content

v1.34.0

Choose a tag to compare

@x1watt x1watt released this 16 Mar 17:30
· 620 commits to main since this release

What's New in v1.34.0

Meeting Visibility Controls

  • Four visibility levels for meetings: Public (everyone), Private (host only), Restricted (selected contacts/groups), and Unlisted (direct link only)
  • Set visibility at creation time via the Host Meeting page with a dropdown picker
  • Change visibility after creation from the archive detail page (host only) — icon button in the AppBar
  • Restricted mode reuses the existing contact picker and group selector (same pattern as shared folders and tracker items)
  • Listing page filtering: private and unlisted meetings are excluded from /meet/, restricted meetings only shown to authenticated allowed users
  • NDF permissions (permissions.json) automatically mapped from visibility level on archive creation

Background Auto-Transcription

  • AppStartedEvent fires once after all Phase 2 services finish initializing
  • MeetingTranscriptionService subscribes to start transcribing all untranscribed recordings in the background — no need to open the archive detail page
  • Queue progress tracking with chained transcription (finishes one, starts the next)
  • Skips ffprobe when duration is already known; cleans up temp files reliably

Device Sync Improvements

  • Show last sync time for each mirror device in the Device Sync panel
  • Sync badge moved to lower-right corner with grey background styling
  • Fix sync badge offset, instant config display, persist peers across restarts
  • Fix checkboxes, add push/pull direction filter
  • Clean up Device Sync settings UI
  • Add missing device_sync i18n translation key

Mirror & Multi-Device Stability

  • Fix mirror stability: FD leak, circular import, post-switch mirror loss
  • Show per-install UUID prefix in sibling device names
  • Fix NAT dedup loop and device sync comparison for multi-device support
  • Add profile_switch debug API endpoint for testing

Events & Performance

  • Optimize events list loading: progressive streaming, parallel I/O, lazy rendering
  • Auto-focus search field on app creation page
  • Add place types, swipeable event flyers

Developer

  • Document serialized callback pattern in reusable.md
  • Document AppStartedEvent and MeetingVisibility patterns in reusable.md