WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@vgadodia
Copy link

@vgadodia vgadodia commented Dec 2, 2025

Summary by CodeRabbit

  • New Features

    • Workspace management system enabling organization of recordings and settings per workspace
    • Versioned video links for improved sharing and tracking
    • Flyover Camera feature architecture and implementation plan
  • Updates

    • Product rebranding from Cap to Inflight throughout the application
    • Settings interface redesigned with horizontal tab navigation
    • Enhanced icon library and updated visual components
  • Improvements

    • Refined window styling and transparency settings
    • Streamlined UI layout for recording controls and device selection
  • Documentation

    • Comprehensive Flyover Camera feature plan documenting multi-track recording, real-time preview, and editable workflows

✏️ Tip: You can customize this high-level summary in your review settings.

Introduces optional version_id to S3UploadMeta in Rust and TypeScript, updates video upload and sharing logic to use version_id for links when available. This enables more precise referencing of uploaded video versions and improves shareable link generation.
* Add workspace support to recording and upload flows

Introduces workspace support throughout the desktop app, including API, authentication, recording settings, and upload logic. Updates Rust backend and frontend components to handle workspace IDs alongside organization IDs, enabling workspace selection and association for recordings and uploads.

* Refactor useOptions to use createEffect for updates

Replaces mergeProps with createEffect in useOptions to update organizationId and workspaceId reactively based on available organizations and workspaces. This improves reactivity and ensures options are updated when data changes.

* Show workspace avatar in selection overlay

Adds an avatar image next to the workspace name in the workspace selection overlay if the selected workspace has an avatarUrl. Also adjusts the gap between items for improved layout.

* Formatting

* Comment out unused UI elements and warnings

Temporarily disables several UI components and warnings, including ShowCapFreeWarning, settings menu, and mode toggle prompts. Also updates spacing and adds an 'Adjust area' button for window selection. These changes streamline the overlay and recording controls, likely for testing or UI simplification.

* Update recording controls UI and add new icons

Added DoubleArrowSwitcher, ArrowUpRight, and RecordFill icons. Updated the recording controls UI for improved appearance and clarity, including new button styles and conditional rendering for login state. Commented out organization selection logic in target-select-overlay to simplify workspace selection.
Window close, minimize, and zoom buttons are now hidden for ShowCapWindow on macOS by running code on the main thread. The window level is set only if new_recording_flow is true.
Introduces InflightLogo, CloseIcon, and SettingsIcon components in icons.tsx. Refactors window chrome header layout and styles for improved appearance and usability, including new close and settings buttons in new-main/index.tsx. Cleans up formatting and removes unused code in (window-chrome).tsx.
* Revamp UI components and add new icons

Introduces new SVG icons for camera, microphone, system audio, display, window, and crop. Adds HorizontalTargetButton component and refactors input and target selection controls for improved layout and styling. Updates window transparency and border radius for a modern look. Refactors InfoPill for new variants and updates usage in SystemAudio. Adjusts window size and layout in main page for better usability.

* Update index.tsx
Introduces a new ArrowsOutIcon to the icons library and updates the camera preview controls UI for improved appearance and usability. Refactors control button components, applies new styling, and streamlines code formatting and logic for better maintainability.
Added ChevronDown icon and hover effects to CameraSelect and MicrophoneSelect components. Improved HorizontalTargetButton with new hover visuals. Refactored setup and startup screens to rename Cap to Inflight and streamlined code formatting for readability.
Updated the in-progress recording controls with new icons, improved styling, and a grab handle for window movement. Added several new SVG icons. Adjusted window size for recording controls and refined camera preview header styling. Also added a debug button in development mode to open a debug webview.
Updated the settings UI for a more modern look, refactored settings navigation, and added workspace selection for authenticated users. Improved excluded windows management, adjusted hotkey and recording settings layouts, and updated branding references from Cap to Inflight. Also added support for default workspace ID in general settings and improved traffic light positioning for the settings window.
Removed the DEV-only debug button from the new-main page. Updated the Account setting item to display the button based on actual authentication data instead of a hardcoded false value.
Rebrands the desktop app from Cap to Inflight by updating product names, identifiers, and updater endpoints in Tauri config files. Also removes Discord notification steps and related inputs from the publish GitHub Actions workflow, and updates the CN_APPLICATION environment variable.
Changed Sentry organization and project in publish workflow. Increased window height in new-main page and removed license/branding bar. Restored countdown display in in-progress-recording. Prevented event propagation on area bounds button in target-select-overlay.
Changed the runner for macOS targets from 'macos-latest-xlarge' to 'macos-latest' in the GitHub Actions publish workflow to use the standard runner.
Updated the Cargo.toml version for cap-desktop from 0.3.84 to 0.3.85 to prepare for a new release.
Updated the default value of the 'mode' property from 'studio' to 'instant' in the createOptionsQuery function to reflect new requirements or preferences.
Updated the MicrophoneSelect component's class list to include 'relative' and 'overflow-hidden' for improved layout and containment of child elements.
commit bdf23c8
Merge: 87ffbc2 d654add
Author: Richie McIlroy <[email protected]>
Date:   Sun Nov 30 21:38:31 2025 +0800

    Merge pull request CapSoftware#1417 from CapSoftware/cursor/optimize-editor-performance-for-large-videos-claude-4.5-opus-high-thinking-fb23

    Optimize editor performance for large videos

commit d654add
Author: Richie McIlroy <[email protected]>
Date:   Sun Nov 30 21:35:01 2025 +0800

    fmt

commit 3213283
Author: Richie McIlroy <[email protected]>
Date:   Sun Nov 30 21:27:29 2025 +0800

    clippy

commit 35f9380
Author: Richie McIlroy <[email protected]>
Date:   Sun Nov 30 21:13:41 2025 +0800

    fmt

commit d1e708a
Author: Cursor Agent <[email protected]>
Date:   Sun Nov 30 10:47:39 2025 +0000

    Refactor playback prefetching to use tokio mpsc and futures

    Co-authored-by: richiemcilroy1 <[email protected]>

commit 23f8516
Author: Cursor Agent <[email protected]>
Date:   Sun Nov 30 10:45:29 2025 +0000

    Checkpoint before follow-up message

    Co-authored-by: richiemcilroy1 <[email protected]>

commit 9bb14bb
Author: Cursor Agent <[email protected]>
Date:   Sun Nov 30 10:23:27 2025 +0000

    Refactor: Improve editor performance and UI responsiveness

    Co-authored-by: richiemcilroy1 <[email protected]>

commit 87ffbc2
Merge: 3cb22ad 0e16f7c
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 16:30:29 2025 +0530

    Merge pull request CapSoftware#1410 from p-delorme/fix-camera-init

    Handles legacy camera size (strings)

commit 0e16f7c
Merge: 21f197e 3cb22ad
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 18:48:41 2025 +0800

    Merge branch 'main' into pr/1410

commit 3cb22ad
Merge: 2330c53 48f7aeb
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 10:00:30 2025 +0530

    Merge pull request CapSoftware#1395 from CapSoftware/screenshots

commit 48f7aeb
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 12:02:29 2025 +0800

    fmt

commit 126421d
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 11:59:07 2025 +0800

    types/clippy bits

commit cdc91c0
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 11:47:16 2025 +0800

    Throw SilentError on export cancellation

commit 980720e
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 11:47:06 2025 +0800

    Add image dimension and data validation to editor

commit 860ccd7
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 11:46:57 2025 +0800

    Add camera_cleanup_done flag to prevent redundant cleanup

commit 38cc696
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 29 00:02:07 2025 +0800

    claude settings

commit e2545ee
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 23:58:31 2025 +0800

    Improve screenshot capture reliability and performance

commit ba9ba53
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 23:58:17 2025 +0800

    Add validation for annotation and camera config

commit 641a99a
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 23:58:03 2025 +0800

    Show toast on screenshot failure in overlay

commit ba901dd
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 22:48:55 2025 +0800

    Add keyboard shortcuts for export actions in Header

commit c73f735
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 21:47:48 2025 +0800

    Add stride check in FFmpeg frame conversion

commit 6825eb3
Merge: 4d73f14 2330c53
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 21:23:41 2025 +0800

    Merge branch 'main' into screenshots

commit 2330c53
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 20:22:42 2025 +0800

    fix: margin on mobile nav

commit 0765fee
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 20:16:06 2025 +0800

    feat: Cap Friday

commit 4d73f14
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 04:55:51 2025 +0530

    Add fast screenshot capture and shared GPU context

commit f8f1d01
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 04:54:15 2025 +0530

    Add toast notifications for screenshot actions

commit bb0310d
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 01:16:47 2025 +0530

    misc bits

commit ed64349
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 01:16:42 2025 +0530

    Refactor camera window cleanup logic

commit 2b1eb9e
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 01:16:25 2025 +0530

    Handle errors during titlebar initialization

commit eafc7d9
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 01:16:12 2025 +0530

    Refactor import and error handling in screenshot_editor.rs

commit d776857
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 01:15:59 2025 +0530

    Optimize PNG screenshot encoding settings

commit 737b89a
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 01:15:42 2025 +0530

    Remove unused mutable binding in camera_legacy.rs

commit 37456d3
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:39:08 2025 +0530

    Disable cursor capture in screenshot functionality

commit 694de05
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:24:07 2025 +0530

    Refactor camera preview to use broadcast channel

commit 7c68831
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:23:58 2025 +0530

    Switch frame channel from flume to tokio broadcast

commit 3a39c9c
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:23:25 2025 +0530

    Refactor WebSocket frame handling to use broadcast channel

commit f12c13e
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:23:14 2025 +0530

    Refactor render shutdown handling in screenshot editor

commit 3c4a124
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:23:05 2025 +0530

    Remove timestamp from screenshot src

commit 032b819
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:21:25 2025 +0530

    Handle shutdown in screenshot editor render loop

commit 7dd146a
Author: Richie McIlroy <[email protected]>
Date:   Fri Nov 28 00:15:59 2025 +0530

    Handle missing ScreenshotEditor instance gracefully

commit 21f197e
Author: Patrick Delorme <[email protected]>
Date:   Wed Nov 26 22:18:33 2025 -0500

    Handles legacy camera size strings

commit 9d22e01
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 22 09:24:47 2025 +0000

    0.4.0

commit af1cc60
Author: Richie McIlroy <[email protected]>
Date:   Sat Nov 22 10:45:45 2025 +0530

    feat: Screenshots V1 - Enhance screenshot editor with mask tool and export cancel

commit 61982eb
Author: Richie McIlroy <[email protected]>
Date:   Thu Nov 20 16:03:26 2025 +0000

    Add screenshot export improvements and new icon

commit 1996ab6
Author: Richie McIlroy <[email protected]>
Date:   Thu Nov 20 15:28:16 2025 +0000

    Implement Windows screenshot capture support

commit 7bd9644
Merge: 6dcb6f2 f272bbf
Author: Richie McIlroy <[email protected]>
Date:   Thu Nov 20 15:22:15 2025 +0000

    Merge branch 'main' into screenshots

commit a292974
Merge: f272bbf 4a41f99
Author: Richie McIlroy <[email protected]>
Date:   Thu Nov 20 15:21:54 2025 +0000

    Merge pull request CapSoftware#1381 from phuocithcmus/fix/window-memory-leak-processout

    fix: window memory leak - memory increase while recording

commit 6dcb6f2
Author: Richie McIlroy <[email protected]>
Date:   Thu Nov 20 15:03:01 2025 +0000

    Refactor mask blur logic for screenshot editor

commit b4c8a17
Author: Richie McIlroy <[email protected]>
Date:   Thu Nov 20 12:51:21 2025 +0000

    feat: Screenshot editor styling/layout + Mask annotation

commit f272bbf
Merge: 563e238 bab0348
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 19:01:40 2025 +0000

    Merge pull request CapSoftware#1396 from ItsEeleeya/new-theme-previews

    New theme preview icons

commit bab0348
Author: Ilya <[email protected]>
Date:   Wed Nov 19 21:54:35 2025 +0330

    Remove unused

commit ef4a54f
Author: Ilya <[email protected]>
Date:   Wed Nov 19 21:45:33 2025 +0330

    New theme preview icons

commit f92090a
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 17:57:11 2025 +0000

    Add screenshot support to target selection UI

commit 849b702
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 17:20:53 2025 +0000

    Replace Button with native button in TargetMenuPanel

commit f28cffd
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 17:15:52 2025 +0000

    Add recordings grid and menu to main window

commit 84d1baa
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 16:55:52 2025 +0000

    Refactor screenshot saving and editor window management

commit f9450c8
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 16:55:35 2025 +0000

    Add screenshot mode and image icon support

commit 11007c2
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 16:55:23 2025 +0000

    Refactor screenshot editor and add screenshots tab

commit 77cac64
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 02:45:50 2025 +0000

    Integrate live preview for screenshot editor

commit c982991
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 02:45:40 2025 +0000

    Add screenshot editor integration and DecodedFrame constructor

commit 50ca057
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 02:45:24 2025 +0000

    Add screenshot editor backend implementation

commit 4c3b942
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 02:31:13 2025 +0000

    Allow Slider to accept custom history prop

commit f7047a0
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 02:29:18 2025 +0000

    feat: v1 of screenshots

commit 563e238
Merge: 9edf1ce 2f75043
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:33:18 2025 +0000

    Merge pull request CapSoftware#1390 from CapSoftware/editor-perf

    feat: Various features + performance bits

commit 2f75043
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:30:49 2025 +0000

    clippy bits

commit ef920b2
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:20:04 2025 +0000

    gen'd files

commit 695bb66
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:19:52 2025 +0000

    Fix requestAnimationFrame cleanup in overlay

commit 0510be8
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:19:44 2025 +0000

    Add __CAP__ property to Window interface

commit 756d296
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:19:29 2025 +0000

    Improve camera window resizing and positioning logic

commit ff78eba
Author: Richie McIlroy <[email protected]>
Date:   Wed Nov 19 00:19:09 2025 +0000

    Clarify and emphasize no code comments policy

commit 6db1d2d
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 23:41:03 2025 +0000

    Remove unused setCamera mutation in camera page

commit 51e2f6e
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 23:38:43 2025 +0000

    misc packages

commit a0aeffa
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 23:38:32 2025 +0000

    Refactor duration calculation for readability

commit fd30b14
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 21:52:38 2025 +0000

    Add checked_duration_since for timestamp types

commit 05f39bb
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 21:46:20 2025 +0000

    Improve countdown animation and fix recording logic

commit dec0d8e
Merge: 0066eb1 5de394f
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 21:44:52 2025 +0000

    Merge branch 'editor-perf' of https://github.com/CapSoftware/Cap into editor-perf

commit 0066eb1
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 21:36:48 2025 +0000

    Add camera overlay bounds update and revert logic

commit 5de394f
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 20:51:15 2025 +0000

    Update apps/desktop/src-tauri/src/camera.rs

    Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

commit e6e9320
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 18:26:21 2025 +0000

    Improve logging and error context in recording pipeline

commit d24e92c
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 17:10:19 2025 +0000

    Add code formatting guidelines to documentation

commit 2b504dd
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 16:54:29 2025 +0000

    Update camera.tsx

commit 891b122
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 16:54:02 2025 +0000

    Improve camera feed sender handling and logging

commit 831fb76
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 16:53:42 2025 +0000

    Fix import order in experimental settings route

commit dd39425
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 16:41:22 2025 +0000

    Set Mellow as default for CursorAnimationStyle

commit ce63e02
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 16:41:11 2025 +0000

    Add resizing to camera window

commit 6dd3ff1
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 16:40:46 2025 +0000

    Hide native camera preview toggle on Windows

commit 44a5348
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 15:14:03 2025 +0000

    Refactor type casting for currentRecording data

commit 41fbc5c
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 14:51:41 2025 +0000

    Improve camera initialization and recording state handling

commit 6aca28e
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 14:51:33 2025 +0000

    Add initializing state to recording flow

commit d2b8fd4
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 14:50:45 2025 +0000

    Update close button to use window close action

commit fee3391
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 12:00:28 2025 +0000

    Reset camera and mic state on window close and recording end

commit 184ad59
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 10:49:45 2025 +0000

    lost a days work (I F'D UP)

commit 8b403a8
Author: Richie McIlroy <[email protected]>
Date:   Tue Nov 18 10:40:07 2025 +0000

    Update recording UI container styles

commit 37eb7c8
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 20:52:24 2025 +0000

    Update settings.local.json

commit cced653
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 20:52:18 2025 +0000

    Improve camera frame forwarding and logging

commit dbe8ae1
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 20:50:12 2025 +0000

    Refactor waveform rendering in ClipTrack

commit 5d95f24
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 20:15:25 2025 +0000

    Handle excluded windows in macOS screen capture

commit b61958c
Merge: bd1fc73 9edf1ce
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 17:12:38 2025 +0000

    Merge branch 'main' into editor-perf

commit bd1fc73
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 13:07:30 2025 +0000

    fmt

commit 0a5fea6
Author: Richie McIlroy <[email protected]>
Date:   Mon Nov 17 13:07:10 2025 +0000

    Refactor project config save with custom debounce

commit 4a41f99
Author: phuocnd <[email protected]>
Date:   Wed Nov 12 16:15:42 2025 +0700

    fix: window memory leak - memory increase while streaming
Simplifies tab definitions and navigation in settings, updates tab names, and removes unused code. Refactors camera control buttons to use a unified ControlButton component, removes redundant ControlButtonWithBackground, and cleans up duplicated logic. Comments out unused microphone status UI in in-progress-recording.
Refactored video pre-creation logic to require user authentication for both instant and studio recording modes. Previously, only instant mode required sign-in; now, both modes will prompt the user to sign in if not authenticated.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 2, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR introduces a comprehensive rebranding from Cap to Inflight alongside significant feature development: workspace support replaces organization workflows, a Flyover Camera feature architecture plan is documented, video uploads now track version IDs, and the desktop UI undergoes restructuring with new icon components, settings tabs, and a redesigned recording window interface.

Changes

Cohort / File(s) Summary
Rebranding & Infrastructure
.github/workflows/publish.yml, apps/desktop/scripts/prodBeforeBundle.js, apps/desktop/src-tauri/Cargo.toml, apps/desktop/src-tauri/tauri.conf.json, apps/desktop/src-tauri/tauri.prod.conf.json, apps/desktop/src-tauri/src/tray.rs
Updated product name, binary names, identifiers, and environment variables from Cap/cap to Inflight/inflight. Removed Discord interaction handling in CI/CD. Adjusted macOS runner selection and removed final notification job.
API & Authentication Workspace Support
apps/desktop/src-tauri/src/api.rs, apps/desktop/src-tauri/src/auth.rs
Added new Workspace struct and fetch_workspaces() API function. Populated AuthStore with workspaces collection, replacing organization fetching.
Recording Settings & Configuration
apps/desktop/src-tauri/src/general_settings.rs, apps/desktop/src-tauri/src/recording_settings.rs, apps/desktop/src-tauri/src/deeplink_actions.rs
Added default_workspace_id to GeneralSettingsStore, workspace_id to RecordingSettingsStore and StartRecordingInputs. Changed default post-deletion behavior.
Upload & Video Handling
apps/desktop/src-tauri/src/upload.rs, apps/desktop/src-tauri/src/lib.rs, apps/desktop/src-tauri/src/recording.rs, crates/project/src/meta.rs
Extended upload_video() and create_or_get_video() signatures with version_id and workspace_id parameters. Updated shareable link generation to prefer versioned paths. Added version_id to S3UploadMeta and propagated through recording finalization.
Desktop-Tauri Type Bridge
apps/desktop/src/utils/tauri.ts
Updated public types for AuthStore, GeneralSettingsStore, StartRecordingInputs, RecordingSettingsStore, S3UploadMeta. Added Workspace type. Updated uploadExportedVideo() signature with workspaceId parameter.
UI Icon Components
apps/desktop/src/icons.tsx
Added 20 new SVG icon components (DoubleArrowSwitcher, InflightLogo, CameraIcon, MicrophoneIcon, SystemAudioIcon, etc.).
Recording Window UI Overhaul
apps/desktop/src/routes/(window-chrome)/new-main/index.tsx, apps/desktop/src/routes/(window-chrome)/new-main/CameraSelect.tsx, apps/desktop/src/routes/(window-chrome)/new-main/MicrophoneSelect.tsx, apps/desktop/src/routes/(window-chrome)/new-main/SystemAudio.tsx, apps/desktop/src/routes/(window-chrome)/new-main/HorizontalTargetButton.tsx, apps/desktop/src/routes/(window-chrome)/new-main/InfoPill.tsx, apps/desktop/src/routes/(window-chrome)/new-main/TargetTypeButton.tsx, apps/desktop/src/routes/(window-chrome).tsx
Restructured main recording window with new UI components, rounded corners, transparent windows, updated icon usage. Added HorizontalTargetButton component. Adjusted window sizing (272×394). Enhanced camera/mic selection with hover controls and ChevronDown indicators. Updated InfoPill with "on"/"off" variant styling.
Settings Pages UI Restructure
apps/desktop/src/routes/(window-chrome)/settings.tsx, apps/desktop/src/routes/(window-chrome)/settings/general.tsx, apps/desktop/src/routes/(window-chrome)/settings/hotkeys.tsx, apps/desktop/src/routes/(window-chrome)/settings/recordings.tsx, apps/desktop/src/routes/(window-chrome)/settings/Setting.tsx
Replaced vertical left navigation with horizontal tab bar. Added workspace and account setting sections to general settings. Integrated workspace selection UI and sign-in mutation. Added tab indicator animation on location change.
Target & Recording Overlays
apps/desktop/src/routes/target-select-overlay.tsx, apps/desktop/src/routes/in-progress-recording.tsx, apps/desktop/src/routes/recordings-overlay.tsx, apps/desktop/src/routes/editor/ExportDialog.tsx, apps/desktop/src/routes/editor/ShareButton.tsx
Replaced organization-based logic with workspace-centric flow. Added workspace selection UI and menu-driven workflows. Added workspaceId to export settings and upload calls. Extended uploadExportedVideo() calls with workspace parameter.
Window Management & Rendering
apps/desktop/src-tauri/src/windows.rs
Added transparent window support for Setup, Main, Settings. Modified macOS traffic lights positioning and window button handling. Reduced InProgressRecording window from 320×150 to 208×48.
Utilities & Queries
apps/desktop/src/utils/queries.ts, packages/ui-solid/src/Button.tsx
Added createWorkspacesQuery() mirroring organization query pattern. Added workspaceId to recording options state. Changed default recording mode to instant. Minor Button component formatting.
Setup & Navigation
apps/desktop/src/routes/setup.tsx, apps/desktop/src/routes/camera.tsx
Rebranded all user-facing strings from Cap to Inflight. Updated permission flow descriptions. Minor formatting and inline handler adjustments.
Documentation
FLYOVER_FEATURE_PLAN.md
Comprehensive architecture and implementation plan for Flyover Camera feature, including desktop recording, real-time preview, web components, and phased milestones.

Sequence Diagram

sequenceDiagram
    actor User
    participant UI as Desktop UI
    participant Tauri as Tauri Backend
    participant Settings as Settings Store
    participant Upload as Upload Service
    participant API as Backend API

    User->>UI: Start Recording with Workspace
    UI->>Settings: Load default_workspace_id & workspace list
    Settings-->>UI: Return workspaces
    UI->>Tauri: start_recording(workspace_id)
    
    Tauri->>Settings: Persist workspace_id to RecordingSettingsStore
    Tauri->>Upload: create_or_get_video(workspace_id)
    Upload->>API: POST /api/desktop/workspaces/videos?workspaceId={workspace_id}
    API-->>Upload: Return S3UploadMeta { id, version_id }
    Upload-->>Tauri: Return upload metadata
    
    Tauri->>Tauri: Process recording → generate version_id
    Tauri->>Upload: upload_video(version_id, workspace_id)
    Upload->>API: Upload to S3 with versioned path /v/{version_id}
    API-->>Upload: Confirm
    Upload-->>Tauri: Return shareable link with version
    
    Tauri-->>UI: Recording complete with versioned link
    UI->>User: Display shareable link
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Areas requiring extra attention:

  • Recording flow propagation: Verify workspace_id threading through start_recording()create_or_get_video()upload_video() in apps/desktop/src-tauri/src/recording.rs and apps/desktop/src-tauri/src/lib.rs; ensure backward compatibility with None defaults.
  • Workspace-centric refactor: Review target-select-overlay.tsx workspace selection logic and menu-driven workflows; verify organization fallback handling is completely replaced.
  • Version-ID tracking: Confirm version_id propagation from video creation through upload and link generation; check all create_or_get_video() call sites for correct parameter ordering.
  • UI restructuring complexity: Settings tabs implementation with dynamic indicator positioning and new icon integrations across multiple components; verify visual consistency.
  • API signature changes: Multiple public function signatures extended (upload_video, create_or_get_video, uploadExportedVideo); ensure all call sites updated consistently.
  • Rebranding completeness: Verify all Cap → Inflight references updated in configs, branding, and user-facing strings; check build/update URLs are correct.

Possibly related PRs

  • Implement org selection #1185: Implements core workspace support infrastructure and replaces org-selection plumbing with workspace fields across AuthStore, StartRecordingInputs, and upload functions.
  • New recording flow #831: Develops the "new recording flow" feature touching general_settings.rs feature flags, windows.rs routing, and new-main UI modules overlapping with this PR.
  • New recording flow #933: Modifies the same desktop recording flow including recording/start workflow, target-select overlay, new-main UI, and tauri typings.

Suggested labels

codex, feat/workspaces, ui/desktop, refactor/rebranding

Suggested reviewers

  • oscartbeaumont
  • Brendonovich

Poem

🐰 A rabbit hops through Cap's new Inflight door,
Workspaces bloom where orgs were before,
Version IDs trace each recording's flight,
Tab bars dance with indicator light,
Icons scattered like carrots—what a sight! ✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bdf23c8 and f78c4a2.

📒 Files selected for processing (41)
  • .github/workflows/publish.yml (3 hunks)
  • FLYOVER_FEATURE_PLAN.md (1 hunks)
  • apps/desktop/scripts/prodBeforeBundle.js (2 hunks)
  • apps/desktop/src-tauri/Cargo.toml (1 hunks)
  • apps/desktop/src-tauri/src/api.rs (1 hunks)
  • apps/desktop/src-tauri/src/auth.rs (3 hunks)
  • apps/desktop/src-tauri/src/deeplink_actions.rs (1 hunks)
  • apps/desktop/src-tauri/src/general_settings.rs (2 hunks)
  • apps/desktop/src-tauri/src/lib.rs (6 hunks)
  • apps/desktop/src-tauri/src/recording.rs (6 hunks)
  • apps/desktop/src-tauri/src/recording_settings.rs (1 hunks)
  • apps/desktop/src-tauri/src/tray.rs (1 hunks)
  • apps/desktop/src-tauri/src/upload.rs (5 hunks)
  • apps/desktop/src-tauri/src/windows.rs (6 hunks)
  • apps/desktop/src-tauri/tauri.conf.json (1 hunks)
  • apps/desktop/src-tauri/tauri.prod.conf.json (1 hunks)
  • apps/desktop/src/icons.tsx (1 hunks)
  • apps/desktop/src/routes/(window-chrome).tsx (4 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/CameraSelect.tsx (6 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/HorizontalTargetButton.tsx (1 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/InfoPill.tsx (1 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/MicrophoneSelect.tsx (8 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/SystemAudio.tsx (2 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/TargetTypeButton.tsx (2 hunks)
  • apps/desktop/src/routes/(window-chrome)/new-main/index.tsx (28 hunks)
  • apps/desktop/src/routes/(window-chrome)/settings.tsx (2 hunks)
  • apps/desktop/src/routes/(window-chrome)/settings/Setting.tsx (2 hunks)
  • apps/desktop/src/routes/(window-chrome)/settings/general.tsx (22 hunks)
  • apps/desktop/src/routes/(window-chrome)/settings/hotkeys.tsx (7 hunks)
  • apps/desktop/src/routes/(window-chrome)/settings/recordings.tsx (16 hunks)
  • apps/desktop/src/routes/(window-chrome)/setup.tsx (16 hunks)
  • apps/desktop/src/routes/camera.tsx (24 hunks)
  • apps/desktop/src/routes/editor/ExportDialog.tsx (36 hunks)
  • apps/desktop/src/routes/editor/ShareButton.tsx (1 hunks)
  • apps/desktop/src/routes/in-progress-recording.tsx (22 hunks)
  • apps/desktop/src/routes/recordings-overlay.tsx (1 hunks)
  • apps/desktop/src/routes/target-select-overlay.tsx (25 hunks)
  • apps/desktop/src/utils/queries.ts (6 hunks)
  • apps/desktop/src/utils/tauri.ts (7 hunks)
  • crates/project/src/meta.rs (1 hunks)
  • packages/ui-solid/src/Button.tsx (2 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vgadodia vgadodia closed this Dec 2, 2025
@vgadodia vgadodia deleted the feature/flyover-clean branch December 2, 2025 18:34
@vgadodia vgadodia changed the title Flyover clean Ignore - accidental PR Dec 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant