Complete local-first content migration slice

This commit is contained in:
2026-08-05 16:24:04 -05:00
parent 993abb96df
commit f850bae77c
60 changed files with 2755 additions and 2729 deletions
+3
View File
@@ -131,6 +131,9 @@ fn initialize_app(app: &mut App) {
app.add_singleton_model(|_| SystemStats::new());
app.add_singleton_model(SyncQueue::mock);
app.add_singleton_model(CloudModel::mock);
app.add_singleton_model(|ctx| {
crate::local_object_repository::LocalObjectRepository::new(None, None, ctx)
});
app.add_singleton_model(UserWorkspaces::default_mock);
app.add_singleton_model(TeamTesterStatus::mock);
app.add_singleton_model(TeamUpdateManager::mock);
@@ -1,4 +1,3 @@
use anyhow::Context;
use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle};
use super::view::PaneView;
@@ -11,9 +10,9 @@ use crate::drive::items::WarpDriveItemId;
use crate::env_vars::manager::{EnvVarCollectionManager, EnvVarCollectionSource};
use crate::env_vars::view::env_var_collection::{EnvVarCollectionEvent, EnvVarCollectionView};
use crate::env_vars::EnvVarCollectionType;
use crate::local_object_repository::local_owner;
use crate::pane_group::focus_state::PaneFocusHandle;
use crate::server::ids::SyncId;
use crate::workspaces::user_workspaces::UserWorkspaces;
pub struct EnvVarCollectionPane {
view: ViewHandle<PaneView<EnvVarCollectionView>>,
@@ -55,9 +54,7 @@ impl EnvVarCollectionPane {
Some(id) => EnvVarCollectionSource::Existing(id),
None => EnvVarCollectionSource::New {
title: None,
owner: UserWorkspaces::as_ref(ctx)
.personal_drive(ctx)
.context("personal drive unavailable")?,
owner: local_owner(),
initial_folder_id: None,
},
};
+2 -5
View File
@@ -1,6 +1,5 @@
use std::sync::Arc;
use anyhow::Context;
use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle};
use url::Url;
@@ -14,12 +13,12 @@ use crate::app_state::{LeafContents, NotebookPaneSnapshot};
use crate::cloud_object::Space;
use crate::drive::items::WarpDriveItemId;
use crate::drive::{CloudObjectTypeAndId, OpenGalaxyDriveObjectSettings};
use crate::local_object_repository::local_owner;
use crate::notebooks::link::{LinkEvent, NotebookLinks};
use crate::notebooks::manager::{NotebookManager, NotebookSource};
use crate::notebooks::notebook::{NotebookEvent, NotebookView};
use crate::server::ids::SyncId;
use crate::workflows::{WorkflowSelectionSource, WorkflowSource, WorkflowType};
use crate::workspaces::user_workspaces::UserWorkspaces;
pub struct NotebookPane {
view: ViewHandle<PaneView<NotebookView>>,
@@ -51,9 +50,7 @@ impl NotebookPane {
Some(id) => NotebookSource::Existing(id),
None => NotebookSource::New {
title: None,
owner: UserWorkspaces::as_ref(ctx)
.personal_drive(ctx)
.context("personal drive unavailable")?,
owner: local_owner(),
initial_folder_id: None,
},
};
+3 -6
View File
@@ -1,7 +1,6 @@
use std::collections::HashMap;
use std::sync::Arc;
use anyhow::Context;
use url::Url;
use warpui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle};
@@ -12,11 +11,11 @@ use super::{
use crate::app_state::{LeafContents, WorkflowPaneSnapshot};
use crate::drive::items::WarpDriveItemId;
use crate::drive::OpenGalaxyDriveObjectSettings;
use crate::local_object_repository::local_owner;
use crate::server::ids::SyncId;
use crate::workflows::manager::{WorkflowManager, WorkflowOpenSource};
use crate::workflows::workflow_view::{WorkflowView, WorkflowViewEvent};
use crate::workflows::{WorkflowSelectionSource, WorkflowSource, WorkflowType, WorkflowViewMode};
use crate::workspaces::user_workspaces::UserWorkspaces;
pub struct WorkflowPane {
view: ViewHandle<PaneView<WorkflowView>>,
@@ -48,9 +47,7 @@ impl WorkflowPane {
None => WorkflowOpenSource::New {
title: None,
content: None,
owner: UserWorkspaces::as_ref(ctx)
.personal_drive(ctx)
.context("personal drive unavailable")?,
owner: local_owner(),
initial_folder_id: None,
is_for_agent_mode: false,
},
@@ -61,7 +58,7 @@ impl WorkflowPane {
manager.create_pane(
&source,
&settings,
WorkflowViewMode::supported_view_mode(workflow_id, ctx),
WorkflowViewMode::supported_view_mode(),
window_id,
ctx,
)