Skip to content

chore: remove Warp Drive object sharing#182

Merged
BunsDev merged 1 commit into
mainfrom
chore/minimize-drive-sharing
Jul 4, 2026
Merged

chore: remove Warp Drive object sharing#182
BunsDev merged 1 commit into
mainfrom
chore/minimize-drive-sharing

Conversation

@BunsDev

@BunsDev BunsDev commented Jul 3, 2026

Copy link
Copy Markdown
Member

What

Second step of the Warp Drive minimization (after the dead CloudObjects flag, #181). Removes object sharing — the hosted ACL/collaboration surface for sharing Drive objects, conversations, and panes via cloud share-links and access-control lists. It cannot function in the OSS/local build (no cloud), so it was dead affordance.

Removed

  • The app/src/drive/sharing/ module (dialog, ACL/inheritance model, invitees, link sharing) and the pane sharing view pane_group/pane/view/header/sharing.rs.
  • The drive_sharing onboarding block and its persisted setting.
  • The dead ACL/guest backend in server/cloud_objects/update_manager.rs (11 permission/guest methods + the ObjectOperation::UpdatePermissions op) — orphaned once the sharing dialog, their only caller, was gone.
  • word_block_editor.rs — used only by the sharing dialog.
  • SharingDialogSource (retained telemetry enum, now unused).
  • Runtime-dispatch registrations (the compile-clean-but-panic class): the SharePaneContents app-menu item + pane:share_pane_contents keybinding, and the ShareContents/ToggleShareDialog/OpenConversationShareDialog/OpenObjectSharingSettings action variants, handlers, "Share" menu items, and the OpenDriveObjectShareDialog event graph.

Net: 61 files, −4,858 / +121.

Kept (local-first)

The local CloudModel, the UpdateManager orchestrator (local CRUD), and the entire Drive UI (index, panel, items, workflows, import, export, folders). SharingAccessLevel stays as the local object-model permission type (repointed to import from warp_server_client directly instead of via the deleted re-export). Notebooks/workflows/env-vars/prompts/AI-context-chips are unaffected.

Verification (host)

  • cargo check -p warp-app --all-targets --tests --features gui0 warnings, 0 errors (CI uses clippy -D warnings; dead_code is enforced).
  • cargo check -p integration → clean (the feature config not covered by --features gui).
  • cargo fmt --check → clean.
  • Grepped for dangling sharing action strings in keymaps/menus/palette → none.

Follow-ups: the RTC update listener and the GraphQL sync transport.

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings July 3, 2026 22:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the Warp Drive object sharing surface (UI actions, dialogs, onboarding, and the hosted ACL/guest backend plumbing) while keeping the local-first Drive model/UI and related offline workflows intact.

Changes:

  • Removed Drive sharing UI/entrypoints (pane header sharing controls, conversation share actions, Drive index “Share” menu items, onboarding block) and associated keybindings/menu registrations.
  • Removed the server-side permission/guest update plumbing (UpdateManager permission ops + tests) that was only reachable via the sharing UI.
  • Re-homed shared permission/editability types to local-first locations (e.g., ContentEditability moved under cloud_object::model::view, and SharingAccessLevel imported directly from warp_server_client).

Reviewed changes

Copilot reviewed 61 out of 61 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
app/src/workspace/view/conversation_list/view.rs Removes conversation overflow “Share conversation” action and dialog plumbing.
app/src/workspace/view/conversation_list/item.rs Drops sharing-dialog overlay positioning for conversation list rows.
app/src/workspace/view.rs Removes workspace-level onboarding/share-dialog event graph and handlers.
app/src/workspace/action.rs Removes workspace action variant for opening object sharing settings.
app/src/workflows/workflow_view.rs Removes workflow-triggered share-dialog event path; updates type imports.
app/src/word_block_editor.rs Deletes editor used exclusively by the sharing dialog.
app/src/util/bindings.rs Removes SharePaneContents custom action wiring.
app/src/terminal/view/pane_impl.rs Removes pane-header sharing controls integration for terminal panes.
app/src/terminal/view/block_onboarding/onboarding_drive_sharing_block.rs Deletes Drive sharing onboarding block view.
app/src/terminal/view/block_onboarding/mod.rs Removes module export for deleted onboarding block.
app/src/terminal/view.rs Removes AI-block context menu share action + onboarding insertion hook.
app/src/settings_view/mod.rs Updates header render context type signature (lifetime removal).
app/src/settings_view/environments_page.rs Updates header render context type signature (lifetime removal).
app/src/server/telemetry.rs Removes SharingDialogSource telemetry enum.
app/src/server/server_api/object.rs Switches SharingAccessLevel import to warp_server_client.
app/src/server/network_log_view.rs Updates header render context type signature (lifetime removal).
app/src/server/cloud_objects/update_manager.rs Removes hosted ACL/guest/link-permissions operations and UpdatePermissions op variant.
app/src/server/cloud_objects/update_manager_tests.rs Removes tests covering guest/permission update APIs that were deleted.
app/src/server/cloud_objects/fake_object_client.rs Switches SharingAccessLevel import to warp_server_client.
app/src/persistence/cloud_object_tests.rs Switches sharing-type imports to warp_server_client.
app/src/pane_group/pane/workflow_pane.rs Removes forwarding of share-dialog pane-group events for workflows.
app/src/pane_group/pane/welcome_view.rs Updates header render context type signature (lifetime removal).
app/src/pane_group/pane/view/mod.rs Removes share keybinding registration and share action handling from panes.
app/src/pane_group/pane/view/header/sharing.rs Deletes pane-header sharing controls implementation.
app/src/pane_group/pane/view/header/mod.rs Removes sharing overlay/action wiring from the pane header.
app/src/pane_group/pane/view/header/mod_tests.rs Updates header render context type signature (lifetime removal).
app/src/pane_group/pane/view/header/components.rs Updates header render context type signature (lifetime removal).
app/src/pane_group/pane/view/header_content.rs Removes sharing-controls closure from HeaderRenderContext; lifetime removed.
app/src/pane_group/pane/notebook_pane.rs Removes forwarding of share-dialog pane-group events for notebooks.
app/src/pane_group/pane/mod.rs Removes pane-view init call and shareable-object events from PaneConfiguration.
app/src/pane_group/pane/get_started_view.rs Updates header render context type signature (lifetime removal).
app/src/pane_group/mod.rs Removes pane-group event variant for opening Drive object share dialog.
app/src/notebooks/notebook/details_bar.rs Moves ContentEditability import to cloud-object view model.
app/src/notebooks/notebook.rs Removes notebook pane shareable-object setup and invitee-email share path.
app/src/notebooks/file/mod.rs Updates header render context type signature (lifetime removal).
app/src/notebooks/active_notebook_data.rs Moves ContentEditability + SharingAccessLevel imports to new locations.
app/src/lib.rs Removes sharing dialog init and word_block_editor module inclusion.
app/src/env_vars/view/secrets.rs Moves ContentEditability import to cloud-object view model.
app/src/env_vars/view/fixed_view_components.rs Moves ContentEditability import and uses warp_server_client::SharingAccessLevel.
app/src/env_vars/view/env_var_collection.rs Removes shareable-object setup; moves ContentEditability import.
app/src/env_vars/active_env_var_collection_data.rs Moves ContentEditability + SharingAccessLevel imports to new locations.
app/src/drive/sharing/style.rs Deletes sharing dialog styling helpers.
app/src/drive/sharing/mod.rs Deletes Drive sharing module (types, ACL subject helpers, re-exports).
app/src/drive/sharing/dialog/mod.rs Deletes sharing dialog implementation.
app/src/drive/sharing/dialog/inheritance.rs Deletes inherited-ACL display support used by sharing dialog.
app/src/drive/settings.rs Removes persisted setting for showing Drive sharing onboarding block.
app/src/drive/panel.rs Removes Drive panel helper that opened sharing settings.
app/src/drive/mod.rs Removes sharing module export.
app/src/drive/items/item.rs Removes “share dialog open” visual state from Drive rows.
app/src/drive/index.rs Removes Drive index share dialog, actions, and menu items; updates ContentEditability import.
app/src/code/wasm.rs Updates header render context type signature (lifetime removal).
app/src/code/view.rs Updates header render context type signature (lifetime removal).
app/src/code_review/code_review_view.rs Updates header render context type signature (lifetime removal).
app/src/cloud_object/toast_message.rs Removes toast messaging for permission update operation that no longer exists.
app/src/cloud_object/model/view.rs Introduces ContentEditability in cloud-object view model; imports SharingAccessLevel directly.
app/src/browser/browser_view.rs Updates header render context type signature (lifetime removal).
app/src/app_menus.rs Removes “Share pane” Drive app-menu item.
app/src/ai/facts/view/mod.rs Updates header render context type signature (lifetime removal).
app/src/ai/execution_profiles/editor/mod.rs Updates header render context type signature (lifetime removal).
app/src/ai/blocklist/inline_action/code_diff_view.rs Updates header render context type signature (lifetime removal).
app/src/ai/ai_document_view.rs Removes header sharing controls usage and shareable-object wiring.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 213 to 216
}

/// How the user opened the Warp Drive sharing dialog.
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq)]
pub enum SharingDialogSource {
/// The sharing button in the pane header.
PaneHeader,
/// The per-pane command palette entry (includes keybindings).
CommandPalette,
/// The Warp Drive index context menu.
DriveIndex,
/// The user intented into Warp with an email address to invite.
InviteeRequest,
/// The user jumped from an inherited ACL to its definition on a parent object.
InheritedPermission,
/// The onboarding block shown after users create new personal objects.
OnboardingBlock,
/// The conversation list overflow menu.
ConversationList,
/// The AI block context menu.
AIBlockContextMenu,
}

#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
pub enum ToggleBlockFilterSource {
Removes the hosted object-sharing subsystem: the ACL/collaboration UI and
plumbing for sharing Warp Drive objects, AI conversations, and pane contents
via cloud share-links and access-control lists. This is dead affordance in the
CastCodes OSS build, which has no cloud backend to serve share links, resolve
guests, or enforce access levels.

Removed:
- app/src/drive/sharing/ module (SharingDialog, ShareableObject, ContentEditability,
  SubjectExt/UserKindExt/TeamKindExt, and the re-exports of
  warp_server_client::drive::sharing types).
- The pane sharing UI (pane/view/header/sharing.rs, ToggleSharingDialog /
  ShareableObjectChanged plumbing, share_pane_contents, PaneAction::ShareContents,
  CustomAction::SharePaneContents and its keymap binding + Drive app-menu item).
- Conversation sharing in the conversation list and AI block context menu.
- The Warp Drive share entry points: WorkspaceAction::OpenObjectSharingSettings,
  the OpenDriveObjectShareDialog event graph, DriveIndexAction::ToggleShareDialog,
  and the OnboardingDriveSharingBlock.

Kept:
- ContentEditability relocated to cloud_object::model::view (used by the local
  editability model in cloud_object/env_vars/notebooks/workflows); kept-code
  imports of SharingAccessLevel/Subject/etc. repointed directly at
  warp_server_client::drive::sharing.
- SharingDialogSource enum definition (now unused workspace-wide).
- The local Warp Drive model and update_manager (its now-unused ACL/guest
  backend methods left in place, matching prior minimization PRs).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@BunsDev BunsDev force-pushed the chore/minimize-drive-sharing branch from ed0eb49 to bd5b918 Compare July 3, 2026 23:21
@BunsDev BunsDev merged commit 2d994df into main Jul 4, 2026
24 checks passed
@BunsDev BunsDev deleted the chore/minimize-drive-sharing branch July 4, 2026 04:53
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.

2 participants