-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat(desktop): add timeline slider to crop modal for frame-accurate cropping #1451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
59b3998
fd35e3e
a1d2ac0
f1a6d66
3127103
62110cc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -50,3 +50,4 @@ tauri.windows.conf.json | |
| # Cursor | ||
| .cursor | ||
| .env*.local | ||
| .docs/ | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2677,6 +2677,8 @@ pub async fn run(recording_logging_handle: LoggingHandle, logs_dir: PathBuf) { | |
| async move { | ||
| if !permissions.screen_recording.permitted() | ||
| || !permissions.accessibility.permitted() | ||
| || !permissions.microphone.permitted() | ||
| || !permissions.camera.permitted() | ||
|
Comment on lines
2700
to
+2703
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: # Read context around lines 2700-2703 to understand the permission flow
sed -n '2685,2730p' apps/desktop/src-tauri/src/lib.rsRepository: CapSoftware/Cap Length of output: 1862 🏁 Script executed: # Find where the permissions check is implemented
rg "fn do_permissions_check" --max-count 5 -B 2 -A 20Repository: CapSoftware/Cap Length of output: 2006 🏁 Script executed: # Find the OSPermissionsCheck struct and its permitted() method
rg "struct OSPermissionsCheck|fn permitted" --max-count 10 -B 2 -A 5Repository: CapSoftware/Cap Length of output: 1107 🏁 Script executed: # Look for the Setup window implementation to see if it's skippable
rg "ShowCapWindow::Setup" --max-count 10 -B 5 -A 10Repository: CapSoftware/Cap Length of output: 2610 🏁 Script executed: # Look for the Setup window file or implementation
fd "setup" --type f --extension tsx --extension ts --extension rs | head -20Repository: CapSoftware/Cap Length of output: 265 🏁 Script executed: # Read the setup window implementation
cat -n apps/desktop/src/routes/\(window-chrome\)/setup.tsx | head -100Repository: CapSoftware/Cap Length of output: 3350 🏁 Script executed: # Continue reading the setup window implementation
sed -n '100,250p' apps/desktop/src/routes/\(window-chrome\)/setup.tsxRepository: CapSoftware/Cap Length of output: 4244 Confirm that mandatory microphone and camera permissions at startup align with product goals. The Setup window requires users to grant all four permissions (screen recording, accessibility, microphone, and camera) before accessing the main application. The "Continue" button is disabled until every permission shows as granted or not needed. Users cannot proceed without granting all permissions, even if they only intend to use screen recording features. While the PR indicates this expansion is intentional, verify with product/design that forcing microphone and camera grants at initial onboarding is the desired UX pattern. This creates a hard gate on features that users may not need, potentially causing drop-off during onboarding. If these permissions are truly optional features, consider deferring their requests until users attempt to use those specific features. 🤖 Prompt for AI Agents |
||
| || GeneralSettingsStore::get(&app) | ||
| .ok() | ||
| .flatten() | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,16 @@ | ||
| // @refresh reload | ||
| import { mount, StartClient } from "@solidjs/start/client"; | ||
| import { type } from "@tauri-apps/plugin-os"; | ||
|
|
||
| document.documentElement.classList.add(`platform-${type()}`); | ||
| mount(() => <StartClient />, document.getElementById("app")!); | ||
| async function initApp() { | ||
| try { | ||
| const { type } = await import("@tauri-apps/plugin-os"); | ||
| const osType = type(); | ||
| document.documentElement.classList.add(`platform-${osType}`); | ||
| } catch (error) { | ||
| console.error("Failed to get OS type:", error); | ||
| } | ||
|
|
||
| mount(() => <StartClient />, document.getElementById("app")!); | ||
| } | ||
|
|
||
| initApp(); |
Uh oh!
There was an error while loading. Please reload this page.