I have implemented the requested deep link actions for #1540.
/claim #1540
https://github.com/user-attachments/assets/fb0b8596-178b-4333-a82c-34d2aadbf2ff
This PR aims to add ToggleMicrophone, ToggleCamera, PauseRecording, and ResumeRecording deep link actions to the desktop app, and renames DeepLinkAction to Action. However, the PR includes numerous unrelated and destructive changes that must not be merged:
packages/database/index.ts replaces the Drizzle database client with an empty object and hardcodes an AUTH_SECRET, breaking all database operations application-wide.apps/web/middleware.ts is entirely removed, eliminating security headers (anti-clickjacking on /login), self-hosted route access control, and custom domain verification.tauri.conf.json removes beforeBuildCommand and empties beforeDevCommand, preventing production desktop builds.packages/env/build.ts and packages/env/server.ts add skipValidation: true, and build.ts also sets SKIP_ENV_VALIDATION globally.import streamlit as st.ini) and a test page (test-record/page.tsx) with a broken import path were added.useWebRecorder.ts has a broken indentation change that calls setPhase("recording") before any validation, causing incorrect UI state.Regarding the core feature itself, the ToggleMicrophone and ToggleCamera actions pass None to set_mic_input/set_camera_input, which only disables the device rather than toggling it. The StartRecording action also lost its camera/mic configuration calls.
| Filename | Overview |
|---|---|
| apps/desktop/src-tauri/src/deeplink_actions.rs | Adds PauseRecording, ResumeRecording, ToggleMicrophone, ToggleCamera variants and renames DeepLinkAction to Action. However, ToggleMicrophone/ToggleCamera only disable (don’t toggle), and StartRecording lost its camera/mic configuration calls. |
| apps/desktop/src-tauri/src/import streamlit as st.ini | Unrelated Python Streamlit PDF-to-Word converter accidentally committed to the Tauri desktop app source directory. Must be removed. |
| apps/desktop/src-tauri/src/lib.rs | Trivial comment punctuation change (added period). No functional impact. |
| apps/desktop/src-tauri/tauri.conf.json | Removes beforeBuildCommand entirely and empties beforeDevCommand, breaking production builds and dev workflow. Local workaround that should not be merged. |
| apps/web/app/(org)/dashboard/caps/components/web-recorder-dialog/useWebRecorder.ts | setPhase(“recording”) moved before validation checks due to broken indentation, causing the UI to show recording state even when validation fails. |
| apps/web/app/test-record/page.tsx | Test page with a broken import path (WebRecorder component doesn’t exist at the specified location). Local testing artifact that should not be merged. |
| apps/web/middleware.ts | Entire middleware deleted — removes security headers for /login, route access control for self-hosted instances, and custom domain verification. Critical regression. |
| packages/database/index.ts | Database connection replaced with empty object, hardcoded AUTH_SECRET added. All database operations will fail at runtime. Critical regression. |
| packages/env/build.ts | Environment validation globally disabled via SKIP_ENV_VALIDATION and skipValidation. Formatting broken on line 12. Local workaround that should not be merged. |
| packages/env/server.ts | Server env validation disabled with skipValidation: true, allowing the app to start without required environment variables configured. |
| pnpm-workspace.yaml | Removed quotes from workspace glob patterns (functionally equivalent) and added onlyBuiltDependencies list. The dependency list change may be intentional for build optimization. |
flowchart TD
A[Deep Link URL Received] --> B[Parse URL into Action]
B --> C{Action Type}
C -->|StartRecording| D[Resolve capture target]
D --> D1[start_recording]
D1 -.->|"⚠️ camera/mic setup removed"| D2[Camera & mic fields ignored]
C -->|StopRecording| E[stop_recording]
C -->|PauseRecording| F[pause_recording]
C -->|ResumeRecording| G[resume_recording]
C -->|ToggleMicrophone| H["set_mic_input(None)"]
H -->|"⚠️ Only disables"| H1[Removes mic input]
C -->|ToggleCamera| I["set_camera_input(None)"]
I -->|"⚠️ Only disables"| I1[Removes camera input]
C -->|OpenEditor| J[open_project_from_path]
C -->|OpenSettings| K[show_window Settings]
Last reviewed commit: ff47c2b
(3/5) Reply to the agent’s comments like “Can you suggest a fix for this @greptileai?” or ask follow-up questions!
Context used:
vankhaygpsc5400cc-bot
@vankhaygpsc5400cc-bot
Cap
@CapSoftware
Abhishek Verma
@w3Abhishek