Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f1bff20
Replace retry crate with manual retry loop in muxer
richiemcilroy Nov 14, 2025
f42b277
Improve macOS screen capture error handling
richiemcilroy Nov 14, 2025
9835151
fmt
richiemcilroy Nov 14, 2025
7ef58fb
Refactor main window layout and add picker window hide/show
richiemcilroy Nov 16, 2025
833dce0
Set new recording picker to default
richiemcilroy Nov 16, 2025
34a1148
Remove shadow from recording controls button
richiemcilroy Nov 16, 2025
04443e5
Refactor target mode toggling in main window
richiemcilroy Nov 16, 2025
d17a2e6
Add selection hint overlay for area capture
richiemcilroy Nov 16, 2025
8e4d660
Fix target overlay selection and event handling
richiemcilroy Nov 16, 2025
6f8899d
Improve error handling in is_shareable_content_error
richiemcilroy Nov 16, 2025
7d03165
Add pause tracking to WindowsMuxer timestamps
richiemcilroy Nov 16, 2025
9a24d07
Add methods to set mic and camera feeds during pause
richiemcilroy Nov 16, 2025
0adf296
Improve camera and microphone reconnection handling
richiemcilroy Nov 16, 2025
0ad1ad0
Bump desktop app version to 0.3.84
richiemcilroy Nov 16, 2025
a44779e
Update Cargo.lock
richiemcilroy Nov 16, 2025
e0fab01
clippy bits
richiemcilroy Nov 16, 2025
cf0f9d6
Improve error handling in PauseTracker timestamp adjustment
richiemcilroy Nov 16, 2025
8820729
Fix state matching in SetMicFeed and SetCameraFeed handlers
richiemcilroy Nov 16, 2025
b2a9d8e
Add retry limit to video frame queuing
richiemcilroy Nov 16, 2025
ff746c0
Handle locked camera state changes on reconnect
richiemcilroy Nov 16, 2025
1a9b3f2
Refactor camera feed state management and setup flow
richiemcilroy Nov 16, 2025
8a76af7
Improve locked camera reconnection handling
richiemcilroy Nov 16, 2025
5727d98
Move MAX_QUEUE_RETRIES to struct impl block
richiemcilroy Nov 16, 2025
e6e84ce
Refactor conditional logic for attached finalization
richiemcilroy Nov 16, 2025
5105531
Handle errors when saving general settings
richiemcilroy Nov 16, 2025
02b15ac
Handle microphone restoration after reconnect
richiemcilroy Nov 16, 2025
7d842be
Rename SelectionHint.tsx to selection-hint.tsx
richiemcilroy Nov 16, 2025
e1d53e1
Refactor picker window hide logic to use signal state
richiemcilroy Nov 16, 2025
f4bc17a
Fix SelectionHint import path casing
richiemcilroy Nov 16, 2025
89db344
Refactor microphone stream spawning logic
richiemcilroy Nov 16, 2025
d56ff6a
Reorder camera preview window logic and improve error handling
richiemcilroy Nov 16, 2025
7d86c79
clippy bits
richiemcilroy Nov 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "cap-desktop"
version = "0.3.83"
version = "0.3.84"
description = "Beautiful screen recordings, owned by you."
authors = ["you"]
edition = "2024"
Expand Down
16 changes: 13 additions & 3 deletions apps/desktop/src-tauri/src/general_settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ pub struct GeneralSettingsStore {
)]
pub enable_new_recording_flow: bool,
#[serde(default)]
pub recording_picker_preference_set: bool,
#[serde(default)]
pub post_deletion_behaviour: PostDeletionBehaviour,
#[serde(default = "default_excluded_windows")]
pub excluded_windows: Vec<WindowExclusion>,
Expand All @@ -128,7 +130,7 @@ fn default_enable_native_camera_preview() -> bool {
}

fn default_enable_new_recording_flow() -> bool {
cfg!(debug_assertions)
true
}

fn no(_: &bool) -> bool {
Expand Down Expand Up @@ -180,6 +182,7 @@ impl Default for GeneralSettingsStore {
enable_native_camera_preview: default_enable_native_camera_preview(),
auto_zoom_on_clicks: false,
enable_new_recording_flow: default_enable_new_recording_flow(),
recording_picker_preference_set: false,
post_deletion_behaviour: PostDeletionBehaviour::DoNothing,
excluded_windows: default_excluded_windows(),
delete_instant_recordings_after_upload: false,
Expand Down Expand Up @@ -240,7 +243,7 @@ impl GeneralSettingsStore {
pub fn init(app: &AppHandle) {
println!("Initializing GeneralSettingsStore");

let store = match GeneralSettingsStore::get(app) {
let mut store = match GeneralSettingsStore::get(app) {
Ok(Some(store)) => store,
Ok(None) => GeneralSettingsStore::default(),
Err(e) => {
Expand All @@ -249,7 +252,14 @@ pub fn init(app: &AppHandle) {
}
};

store.save(app).unwrap();
if !store.recording_picker_preference_set {
store.enable_new_recording_flow = true;
store.recording_picker_preference_set = true;
}

if let Err(e) = store.save(app) {
error!("Failed to save general settings: {}", e);
}

println!("GeneralSettingsState managed");
}
Expand Down
Loading
Loading