Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into windows
Browse files Browse the repository at this point in the history
  • Loading branch information
ItsEeleeya committed Nov 3, 2024
2 parents 485ca90 + e64afcd commit fcde8d1
Show file tree
Hide file tree
Showing 32 changed files with 1,998 additions and 1,648 deletions.
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Bug report
about: Report a crash, error, or other unusual behaviour by Cap
title: ''
title: ""
labels: bug
assignees: ''

assignees: ""
---

### Description
Expand Down
10 changes: 1 addition & 9 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,6 @@ jobs:
- name: Install dependencies
run: pnpm install

- name: Install FFmpeg
run: |
brew update
brew install ffmpeg@7
- name: Create .env file in root
run: |
echo "appVersion=${{ needs.draft.outputs.version }}" >> .env
Expand All @@ -144,9 +139,6 @@ jobs:
- name: Output .env file
run: cat apps/desktop/.env

- name: Log ffmpeg version
run: ffmpeg -version

- name: Cargo clean
run: cargo clean

Expand Down Expand Up @@ -176,4 +168,4 @@ jobs:
uses: crabnebula-dev/cloud-release@v0
with:
command: release upload ${{ env.CN_APPLICATION }} "${{ needs.draft.outputs.version }}" --framework tauri
api-key: ${{ secrets.CN_API_KEY }}
api-key: ${{ secrets.CN_API_KEY }}
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 = "desktop"
version = "0.3.0-beta.5.8"
version = "0.3.0-beta.6"
description = "Beautiful, shareable screen recordings."
authors = ["you"]
edition = "2021"
Expand Down
32 changes: 18 additions & 14 deletions apps/desktop/src-tauri/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ use cap_project::{
ProjectConfiguration, RecordingMeta, SharingMeta, TimelineConfiguration, TimelineSegment,
};
use cap_rendering::ProjectUniforms;
use cap_utils::create_named_pipe;
// use display::{list_capture_windows, Bounds, CaptureTarget, FPS};
use general_settings::GeneralSettingsStore;
use image::{ImageBuffer, Rgba};
Expand All @@ -42,6 +43,7 @@ use scap::frame::Frame;
use serde::{Deserialize, Serialize};
use serde_json::json;
use specta::Type;
use std::ffi::{CStr, OsStr};
use std::fs::File;
use std::io::BufWriter;
use std::io::{BufReader, Write};
Expand All @@ -62,6 +64,9 @@ use tokio::{
use upload::{get_s3_config, upload_image, upload_video, S3UploadMeta};
use windows::{CapWindow, CapWindowId};

#[cfg(target_os = "macos")]
use cocoa::foundation::{NSBundle, NSString};

#[cfg(target_os = "macos")]
use tauri_nspanel::ManagerExt;

Expand Down Expand Up @@ -2319,20 +2324,18 @@ async fn reset_camera_permissions(_app: AppHandle) -> Result<(), ()> {

#[tauri::command]
#[specta::specta]
async fn reset_microphone_permissions(app: AppHandle) -> Result<(), ()> {
#[cfg(macos)]
{
#[cfg(debug_assertions)]
let bundle_id = "com.apple.Terminal";
#[cfg(not(debug_assertions))]
let bundle_id = "so.cap.desktop";
Command::new("tccutil")
.arg("reset")
.arg("Microphone")
.arg(bundle_id)
.output()
.expect("Failed to reset microphone permissions");
}
async fn reset_microphone_permissions(_app: AppHandle) -> Result<(), ()> {
#[cfg(debug_assertions)]
let bundle_id = "com.apple.Terminal";
#[cfg(not(debug_assertions))]
let bundle_id = "so.cap.desktop";

Command::new("tccutil")
.arg("reset")
.arg("Microphone")
.arg(bundle_id)
.output()
.expect("Failed to reset microphone permissions");

Ok(())
}
Expand Down Expand Up @@ -2424,6 +2427,7 @@ pub async fn run() {
open_main_window,
permissions::open_permission_settings,
permissions::do_permissions_check,
permissions::request_permission,
upload_rendered_video,
upload_screenshot,
get_recording_meta,
Expand Down
92 changes: 46 additions & 46 deletions apps/desktop/src/auto-imports.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,50 @@
// Generated by unplugin-auto-import
export {}
declare global {
const IconHugeiconsDashedLine02: typeof import('~icons/hugeicons/dashed-line02.jsx')['default']
const IconIcRoundBlurOn: typeof import('~icons/ic/round-blur-on.jsx')['default']
const IconLucideCamera: typeof import('~icons/lucide/camera.jsx')['default']
const IconLucideCheck: typeof import('~icons/lucide/check.jsx')['default']
const IconLucideCheckIcon: typeof import('~icons/lucide/check-icon.jsx')['default']
const IconLucideChevronDown: typeof import('~icons/lucide/chevron-down.jsx')['default']
const IconLucideCircle: typeof import('~icons/lucide/circle.jsx')['default']
const IconLucideCircleCheck: typeof import('~icons/lucide/circle-check.jsx')['default']
const IconLucideCircleDashed: typeof import('~icons/lucide/circle-dashed.jsx')['default']
const IconLucideCircleFastForward: typeof import('~icons/lucide/circle-fast-forward.jsx')['default']
const IconLucideCircleForward: typeof import('~icons/lucide/circle-forward.jsx')['default']
const IconLucideCirclePlus: typeof import('~icons/lucide/circle-plus.jsx')['default']
const IconLucideCircleStop: typeof import('~icons/lucide/circle-stop.jsx')['default']
const IconLucideCommand: typeof import('~icons/lucide/command.jsx')['default']
const IconLucideCopy: typeof import('~icons/lucide/copy.jsx')['default']
const IconLucideCrop: typeof import('~icons/lucide/crop.jsx')['default']
const IconLucideEye: typeof import('~icons/lucide/eye.jsx')['default']
const IconLucideFaceTime: typeof import('~icons/lucide/face-time.jsx')['default']
const IconLucideFastForward: typeof import('~icons/lucide/fast-forward.jsx')['default']
const IconLucideImage: typeof import('~icons/lucide/image.jsx')['default']
const IconLucideLayoutDashboard: typeof import('~icons/lucide/layout-dashboard.jsx')['default']
const IconLucideLoaderCircle: typeof import('~icons/lucide/loader-circle.jsx')['default']
const IconLucideMessageSquareMore: typeof import('~icons/lucide/message-square-more.jsx')['default']
const IconLucideMousePointer2: typeof import('~icons/lucide/mouse-pointer2.jsx')['default']
const IconLucidePencil: typeof import('~icons/lucide/pencil.jsx')['default']
const IconLucidePenicl: typeof import('~icons/lucide/penicl.jsx')['default']
const IconLucidePlay: typeof import('~icons/lucide/play.jsx')['default']
const IconLucidePlus: typeof import('~icons/lucide/plus.jsx')['default']
const IconLucideRedo: typeof import('~icons/lucide/redo.jsx')['default']
const IconLucideRedo2: typeof import('~icons/lucide/redo2.jsx')['default']
const IconLucideRewind: typeof import('~icons/lucide/rewind.jsx')['default']
const IconLucideScissors: typeof import('~icons/lucide/scissors.jsx')['default']
const IconLucideSettings: typeof import('~icons/lucide/settings.jsx')['default']
const IconLucideShare: typeof import('~icons/lucide/share.jsx')['default']
const IconLucideSquare: typeof import('~icons/lucide/square.jsx')['default']
const IconLucideStop: typeof import('~icons/lucide/stop.jsx')['default']
const IconLucideUndo: typeof import('~icons/lucide/undo.jsx')['default']
const IconLucideUndo2: typeof import('~icons/lucide/undo2.jsx')['default']
const IconLucideVideo: typeof import('~icons/lucide/video.jsx')['default']
const IconLucideVolume1: typeof import('~icons/lucide/volume1.jsx')['default']
const IconLucideWandSparkles: typeof import('~icons/lucide/wand-sparkles.jsx')['default']
const IconLucideWbecam: typeof import('~icons/lucide/wbecam.jsx')['default']
const IconLucideWebcam: typeof import('~icons/lucide/webcam.jsx')['default']
const IconMdiBlur: typeof import('~icons/mdi/blur.jsx')['default']
const IconMiExpand: typeof import('~icons/mi/expand.jsx')['default']
const IconTablerShadow: typeof import('~icons/tabler/shadow.jsx')['default']
const IconHugeiconsDashedLine02: typeof import("~icons/hugeicons/dashed-line02.jsx")["default"];
const IconIcRoundBlurOn: typeof import("~icons/ic/round-blur-on.jsx")["default"];
const IconLucideCamera: typeof import("~icons/lucide/camera.jsx")["default"];
const IconLucideCheck: typeof import("~icons/lucide/check.jsx")["default"];
const IconLucideCheckIcon: typeof import("~icons/lucide/check-icon.jsx")["default"];
const IconLucideChevronDown: typeof import("~icons/lucide/chevron-down.jsx")["default"];
const IconLucideCircle: typeof import("~icons/lucide/circle.jsx")["default"];
const IconLucideCircleCheck: typeof import("~icons/lucide/circle-check.jsx")["default"];
const IconLucideCircleDashed: typeof import("~icons/lucide/circle-dashed.jsx")["default"];
const IconLucideCircleFastForward: typeof import("~icons/lucide/circle-fast-forward.jsx")["default"];
const IconLucideCircleForward: typeof import("~icons/lucide/circle-forward.jsx")["default"];
const IconLucideCirclePlus: typeof import("~icons/lucide/circle-plus.jsx")["default"];
const IconLucideCircleStop: typeof import("~icons/lucide/circle-stop.jsx")["default"];
const IconLucideCommand: typeof import("~icons/lucide/command.jsx")["default"];
const IconLucideCopy: typeof import("~icons/lucide/copy.jsx")["default"];
const IconLucideCrop: typeof import("~icons/lucide/crop.jsx")["default"];
const IconLucideEye: typeof import("~icons/lucide/eye.jsx")["default"];
const IconLucideFaceTime: typeof import("~icons/lucide/face-time.jsx")["default"];
const IconLucideFastForward: typeof import("~icons/lucide/fast-forward.jsx")["default"];
const IconLucideImage: typeof import("~icons/lucide/image.jsx")["default"];
const IconLucideLayoutDashboard: typeof import("~icons/lucide/layout-dashboard.jsx")["default"];
const IconLucideLoaderCircle: typeof import("~icons/lucide/loader-circle.jsx")["default"];
const IconLucideMessageSquareMore: typeof import("~icons/lucide/message-square-more.jsx")["default"];
const IconLucideMousePointer2: typeof import("~icons/lucide/mouse-pointer2.jsx")["default"];
const IconLucidePencil: typeof import("~icons/lucide/pencil.jsx")["default"];
const IconLucidePenicl: typeof import("~icons/lucide/penicl.jsx")["default"];
const IconLucidePlay: typeof import("~icons/lucide/play.jsx")["default"];
const IconLucidePlus: typeof import("~icons/lucide/plus.jsx")["default"];
const IconLucideRedo: typeof import("~icons/lucide/redo.jsx")["default"];
const IconLucideRedo2: typeof import("~icons/lucide/redo2.jsx")["default"];
const IconLucideRewind: typeof import("~icons/lucide/rewind.jsx")["default"];
const IconLucideScissors: typeof import("~icons/lucide/scissors.jsx")["default"];
const IconLucideSettings: typeof import("~icons/lucide/settings.jsx")["default"];
const IconLucideShare: typeof import("~icons/lucide/share.jsx")["default"];
const IconLucideSquare: typeof import("~icons/lucide/square.jsx")["default"];
const IconLucideStop: typeof import("~icons/lucide/stop.jsx")["default"];
const IconLucideUndo: typeof import("~icons/lucide/undo.jsx")["default"];
const IconLucideUndo2: typeof import("~icons/lucide/undo2.jsx")["default"];
const IconLucideVideo: typeof import("~icons/lucide/video.jsx")["default"];
const IconLucideVolume1: typeof import("~icons/lucide/volume1.jsx")["default"];
const IconLucideWandSparkles: typeof import("~icons/lucide/wand-sparkles.jsx")["default"];
const IconLucideWbecam: typeof import("~icons/lucide/wbecam.jsx")["default"];
const IconLucideWebcam: typeof import("~icons/lucide/webcam.jsx")["default"];
const IconMdiBlur: typeof import("~icons/mdi/blur.jsx")["default"];
const IconMiExpand: typeof import("~icons/mi/expand.jsx")["default"];
const IconTablerShadow: typeof import("~icons/tabler/shadow.jsx")["default"];
}
Loading

0 comments on commit fcde8d1

Please sign in to comment.