diff --git a/apps/desktop/src/routes/(window-chrome)/(main).tsx b/apps/desktop/src/routes/(window-chrome)/(main).tsx
index 3f1be75165..79062b2702 100644
--- a/apps/desktop/src/routes/(window-chrome)/(main).tsx
+++ b/apps/desktop/src/routes/(window-chrome)/(main).tsx
@@ -15,7 +15,6 @@ import {
Suspense,
} from "solid-js";
import { createStore, reconcile } from "solid-js/store";
-
import Mode from "~/components/Mode";
import Tooltip from "~/components/Tooltip";
import { identifyUser, trackEvent } from "~/utils/analytics";
@@ -37,6 +36,9 @@ import {
type RecordingMode,
type ScreenCaptureTarget,
} from "~/utils/tauri";
+import IconCapLogoFull from "~icons/cap/logo-full";
+import IconCapLogoFullDark from "~icons/cap/logo-full-dark";
+import IconLucideBug from "~icons/lucide/bug";
function getWindowSize() {
return {
diff --git a/apps/desktop/src/routes/(window-chrome)/settings/feedback.tsx b/apps/desktop/src/routes/(window-chrome)/settings/feedback.tsx
index 806b7ad120..ae2b62d755 100644
--- a/apps/desktop/src/routes/(window-chrome)/settings/feedback.tsx
+++ b/apps/desktop/src/routes/(window-chrome)/settings/feedback.tsx
@@ -130,53 +130,70 @@ export default function FeedbackTab() {
}
>
- {(diag) => (
-
-
- {(ver) => (
-
-
Operating System
-
- {ver().displayName}
-
-
- )}
-
-
-
-
Capture Support
-
-
- Screen Capture:{" "}
- {diag().screenCaptureSupported
- ? "Supported"
- : "Not Supported"}
-
-
-
+ {(diag) => {
+ const d = diag();
+ const osVersion =
+ "macosVersion" in d
+ ? d.macosVersion
+ : "windowsVersion" in d
+ ? d.windowsVersion
+ : null;
+ const captureSupported =
+ "screenCaptureSupported" in d
+ ? d.screenCaptureSupported
+ : "graphicsCaptureSupported" in d
+ ? d.graphicsCaptureSupported
+ : false;
+ return (
+
+
+ {(ver) => (
+
+
+ Operating System
+
+
+ {(ver() as { displayName: string }).displayName}
+
+
+ )}
+
-
0}>
-
Available Encoders
-
-
- {(encoder) => (
-
- {encoder}
-
- )}
-
+
Capture Support
+
+
+ Screen Capture:{" "}
+ {captureSupported ? "Supported" : "Not Supported"}
+
-
-
- )}
+
+ 0}>
+
+
+ Available Encoders
+
+
+
+ {(encoder) => (
+
+ {encoder}
+
+ )}
+
+
+
+
+
+ );
+ }}
diff --git a/apps/desktop/src/routes/(window-chrome)/settings/integrations/index.tsx b/apps/desktop/src/routes/(window-chrome)/settings/integrations/index.tsx
index 3581b30e07..491e2752bd 100644
--- a/apps/desktop/src/routes/(window-chrome)/settings/integrations/index.tsx
+++ b/apps/desktop/src/routes/(window-chrome)/settings/integrations/index.tsx
@@ -1,6 +1,7 @@
import { Button } from "@cap/ui-solid";
import { useNavigate } from "@solidjs/router";
import { For, onMount } from "solid-js";
+import IconLucideDatabase from "~icons/lucide/database";
import "@total-typescript/ts-reset/filter-boolean";
import { authStore } from "~/store";
diff --git a/apps/desktop/src/utils/tauri.ts b/apps/desktop/src/utils/tauri.ts
index 18ba0fbe66..b41da5c469 100644
--- a/apps/desktop/src/utils/tauri.ts
+++ b/apps/desktop/src/utils/tauri.ts
@@ -364,6 +364,7 @@ uploadProgressEvent: "upload-progress-event"
/** user-defined types **/
+export type AllGpusInfo = { gpus: GpuInfoDiag[]; primaryGpuIndex: number | null; isMultiGpuSystem: boolean; hasDiscreteGpu: boolean }
export type Annotation = { id: string; type: AnnotationType; x: number; y: number; width: number; height: number; strokeColor: string; strokeWidth: number; fillColor: string; opacity: number; rotation: number; text: string | null; maskType?: MaskType | null; maskLevel?: number | null }
export type AnnotationType = "arrow" | "circle" | "rectangle" | "text" | "mask"
export type AppTheme = "system" | "light" | "dark"
@@ -431,6 +432,7 @@ quality: number | null;
* Whether to prioritize speed over quality (default: false)
*/
fast: boolean | null }
+export type GpuInfoDiag = { vendor: string; description: string; dedicatedVideoMemoryMb: number; adapterIndex: number; isSoftwareAdapter: boolean; isBasicRenderDriver: boolean; supportsHardwareEncoding: boolean }
export type HapticPattern = "alignment" | "levelChange" | "generic"
export type HapticPerformanceTime = "default" | "now" | "drawCompleted"
export type Hotkey = { code: string; meta: boolean; ctrl: boolean; alt: boolean; shift: boolean }
@@ -443,7 +445,6 @@ export type JsonValue