Skip to content
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5ef0e0e
New Cropper, updated CaptureArea window
ItsEeleeya Sep 24, 2025
7d49155
Fix capture-area nswindow layer, close button on CapErrorBoundary, Re…
ItsEeleeya Sep 24, 2025
8b2bf1d
Remove unused CropAreaRenderer and Box.
ItsEeleeya Sep 24, 2025
2ea420d
Add default capability "core:resources:allow-close" to properly close…
ItsEeleeya Sep 24, 2025
94355eb
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Sep 24, 2025
8ed99c8
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Sep 24, 2025
82dfbd4
Properly disable Confirm button when crop size is too small
ItsEeleeya Sep 25, 2025
292e7bc
Cropper double click,
ItsEeleeya Sep 25, 2025
19f93a3
Use new cropper in target-select-overlay
ItsEeleeya Sep 26, 2025
4f43b4c
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Sep 26, 2025
b1dedce
Don't fill when double clicking selected region. Only the container
ItsEeleeya Sep 26, 2025
0640f65
oops
ItsEeleeya Sep 26, 2025
2cb06e0
Ensure editor project has a first segment in editor cropper, better i…
ItsEeleeya Sep 27, 2025
7590079
Delete canvas.ts
ItsEeleeya Sep 27, 2025
4037382
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Sep 27, 2025
c8acdb7
Remove unused calculations in Cropper
ItsEeleeya Sep 27, 2025
c2d58b1
Add hard minSize to target-select-overlay cropper, apply ratio snappi…
ItsEeleeya Sep 27, 2025
e5e2d5c
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Sep 30, 2025
1d4c47d
Ensure the new selection controls can't go under the notch on macos
ItsEeleeya Sep 30, 2025
a207b5f
Merge branch 'main' into unified-cropper
ameer2468 Oct 1, 2025
4572861
Merge branch 'main' into pr/1079
richiemcilroy Oct 1, 2025
1f4687f
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Oct 18, 2025
0d0ec6d
Update tauri.ts
ItsEeleeya Oct 18, 2025
6898d52
Update general.tsx
ItsEeleeya Oct 18, 2025
dd8d0d3
nit
oscartbeaumont Oct 28, 2025
3480e66
move event def to Rust
oscartbeaumont Oct 28, 2025
61d5b16
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Oct 30, 2025
1e83773
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Oct 31, 2025
befbdf5
(Fix) Use the new cropper again in target-select-overlay
ItsEeleeya Oct 31, 2025
246021f
Cropper: Stop resizing in aspect ratio mode towards the opposite side.
ItsEeleeya Oct 31, 2025
caf671c
Add alt mode indicator
ItsEeleeya Nov 3, 2025
a393daf
fix the close button i broke
ItsEeleeya Nov 3, 2025
3b486c3
Add minimum size warning
ItsEeleeya Nov 3, 2025
da52a78
Ensure `createKeyDownSignal` handles blur event
ItsEeleeya Nov 3, 2025
e44d930
Fix "ResizeObserver loop completed with undelivered notifications."
ItsEeleeya Nov 3, 2025
9288065
Merge remote-tracking branch 'upstream/main' into unified-cropper
ItsEeleeya Nov 3, 2025
0147048
biome
ameer2468 Nov 4, 2025
41edf40
render latest frame in the cropper and pause playback when opening it
ameer2468 Nov 4, 2025
9345ef7
some tweaks
ameer2468 Nov 4, 2025
359557d
rendering current would have drawbacks
ameer2468 Nov 4, 2025
7c557d0
Merge branch 'main' into unified-cropper
ameer2468 Nov 4, 2025
aa822a2
ts
ameer2468 Nov 4, 2025
e8ef427
use named export + attach pointermove to window instead of container
Brendonovich Nov 4, 2025
fcd03b6
formatting
Brendonovich Nov 4, 2025
e5705f8
final fixes
Brendonovich Nov 4, 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
1 change: 1 addition & 0 deletions apps/desktop/src-tauri/capabilities/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"core:path:default",
"core:event:default",
"core:menu:default",
"core:resources:allow-close",
"core:window:default",
"core:window:allow-close",
"core:window:allow-destroy",
Expand Down
3 changes: 0 additions & 3 deletions apps/desktop/src-tauri/src/general_settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,6 @@ pub struct GeneralSettingsStore {
pub upload_individual_files: bool,
#[serde(default)]
pub hide_dock_icon: bool,
#[serde(default = "true_b")]
pub haptics_enabled: bool,
#[serde(default)]
pub auto_create_shareable_link: bool,
#[serde(default = "true_b")]
Expand Down Expand Up @@ -166,7 +164,6 @@ impl Default for GeneralSettingsStore {
instance_id: uuid::Uuid::new_v4(),
upload_individual_files: false,
hide_dock_icon: false,
haptics_enabled: true,
auto_create_shareable_link: false,
enable_notifications: true,
disable_auto_open_links: false,
Expand Down
4 changes: 4 additions & 0 deletions apps/desktop/src-tauri/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,9 @@ pub struct RecordingDeleted {
path: PathBuf,
}

#[derive(specta::Type, tauri_specta::Event, Serialize)]
pub struct SetCaptureAreaPending(bool);

#[derive(Deserialize, specta::Type, Serialize, tauri_specta::Event, Debug, Clone)]
pub struct NewScreenshotAdded {
path: PathBuf,
Expand Down Expand Up @@ -2061,6 +2064,7 @@ pub async fn run(recording_logging_handle: LoggingHandle, logs_dir: PathBuf) {
target_select_overlay::TargetUnderCursor,
hotkeys::OnEscapePress,
upload::UploadProgressEvent,
SetCaptureAreaPending,
])
.error_handling(tauri_specta::ErrorHandlingMode::Throw)
.typ::<ProjectConfiguration>()
Expand Down
2 changes: 2 additions & 0 deletions apps/desktop/src-tauri/src/platform/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ pub use macos::*;
use tracing::instrument;

#[derive(Debug, Serialize, Deserialize, Type, Default)]
#[serde(rename_all = "camelCase")]
#[repr(isize)]
pub enum HapticPattern {
Alignment = 0,
Expand All @@ -20,6 +21,7 @@ pub enum HapticPattern {
}

#[derive(Debug, Serialize, Deserialize, Type, Default)]
#[serde(rename_all = "camelCase")]
#[repr(usize)]
pub enum HapticPerformanceTime {
Default = 0,
Expand Down
3 changes: 2 additions & 1 deletion apps/desktop/src-tauri/src/windows.rs
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,7 @@ impl ShowCapWindow {
.maximized(false)
.fullscreen(false)
.shadow(false)
.resizable(false)
.always_on_top(true)
.content_protected(should_protect)
.skip_taskbar(true)
Expand Down Expand Up @@ -608,7 +609,7 @@ impl ShowCapWindow {
#[cfg(target_os = "macos")]
crate::platform::set_window_level(
window.as_ref().window(),
objc2_app_kit::NSScreenSaverWindowLevel,
objc2_app_kit::NSPopUpMenuWindowLevel,
);

// Hide the main window if the target monitor is the same
Expand Down
7 changes: 7 additions & 0 deletions apps/desktop/src/components/CapErrorBoundary.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Button } from "@cap/ui-solid";
import { getCurrentWebviewWindow } from "@tauri-apps/api/webviewWindow";
import { writeText } from "@tauri-apps/plugin-clipboard-manager";
import { ErrorBoundary, type ParentProps } from "solid-js";

Expand Down Expand Up @@ -32,6 +33,12 @@ export function CapErrorBoundary(props: ParentProps) {
>
Reload
</Button>
<Button
onClick={() => getCurrentWebviewWindow().close()}
variant="destructive"
>
Close
</Button>
</div>

{import.meta.env.DEV && (
Expand Down
290 changes: 0 additions & 290 deletions apps/desktop/src/components/CropAreaRenderer.tsx

This file was deleted.

Loading