Add initial BlueOS Cloud integration#2712
Draft
rafaellehmkuhl wants to merge 9 commits into
Draft
Conversation
…rdings Introduces the foundational pieces that the upcoming voice recording feature will build on: type definitions for recordings and metadata, date-based filename helpers that mirror the video naming convention, and a dedicated audio storage instance backed by the Cockpit folder under Electron and IndexedDB on the browser.
Adds an open-audio-folder IPC handler that opens the new audio/ subfolder of the Cockpit data directory in the system file manager, together with the matching preload binding and TypeScript declaration. This mirrors what is already done for the videos and snapshots folders.
Wraps getUserMedia and MediaRecorder behind a small, video-store-shaped API: startRecording requests the local microphone, picks the best supported MIME type (Opus/WebM preferred, with OGG/MP4 fallbacks) and streams chunks into memory; stopRecording finalizes the recording, writes the audio blob to the audio storage and persists a sidecar JSON metadata file with the start/end timestamps, duration, mime type, mission name and Cockpit version. The metadata sidecar is what allows future work to align voice recordings with concurrent video recordings without coupling the two features at recording time.
Introduces a new VoiceRecorder mini-widget that lets the user start and stop a microphone recording with a single click, mirroring the MiniVideoRecorder UX (pulsing red dot, live elapsed time, badge with the recording count opening the media library). Registers the new component in MiniWidgetType so it shows up in the widget palette. The widget is intentionally independent from the video recording flow, so users can record short voice notes alongside ongoing video captures without coupling the two features.
Adds a third Audio entry to the left menu of the media library, next to Videos and Snapshots. The new tab lists every recording in the audio storage, surfaces duration and start time from the metadata sidecar when available, and exposes inline playback through a native audio element plus per-file and bulk download/delete actions. Under Electron a footer button reveals the new audio folder in the system file manager.
Adds a Voice Recording row to the Browser vs Desktop comparison so users know the new feature exists, that microphone access requires a secure context in the browser, and that on the desktop app the audio files land directly in the Cockpit folder.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This was the demo branch showcased in the last BlueOS Cloud meeting.
Has a lot to be worked and will probably be split into smaller branches.
Fix #2707
Fix #2708
Fix #2709
Fix #2710
Fix #2711