Radish alpha
r
rad:z4D5UCArafTzTQpDZNQRuqswh3ury
Radicle desktop app
Radicle
Git
Implement repo seeding
Merged rudolfs opened 10 months ago
rudolfs opened with revision 41c2686c on base 8e683cf7 +1071 -602 10 months ago
did:key:z6Mki4CG...o5Zr commented on revision 1 10 months ago

Woodpecker pipeline #885 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/472
did:key:z6Mki4CG...o5Zr commented on revision 1 10 months ago

Woodpecker pipeline #885 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/472
did:key:z6Mki4CG...o5Zr commented on revision 1 10 months ago

Woodpecker pipeline #885 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/472
did:key:z6Mki4CG...o5Zr commented on revision 1 10 months ago

Woodpecker pipeline #885 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/472
did:key:z6Mki4CG...o5Zr commented on revision 1 10 months ago

Woodpecker pipeline #885 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/472
rudolfs pushed revision 2 ec13d05d on base 30f586a0 +1071 -602 10 months ago

Rebase

did:key:z6Mki4CG...o5Zr commented on revision 2 10 months ago

Woodpecker pipeline #886 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/473
did:key:z6Mki4CG...o5Zr commented on revision 2 10 months ago

Woodpecker pipeline #886 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/473
did:key:z6Mki4CG...o5Zr commented on revision 2 10 months ago

Woodpecker pipeline #886 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/473
did:key:z6Mki4CG...o5Zr commented on revision 2 10 months ago

Woodpecker pipeline #886 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/473
did:key:z6Mki4CG...o5Zr commented on revision 2 10 months ago

Woodpecker pipeline #886 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/473
did:key:z6Mki4CG...o5Zr commented on revision 1 10 months ago

Woodpecker pipeline #885 completed with status: failure. ❌

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/472
did:key:z6Mki4CG...o5Zr commented on revision 2 10 months ago

Woodpecker pipeline #886 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/473
rudolfs pushed revision 3 9e555207 on base 30f586a0 +1082 -602 10 months ago

Clear filter when opening add repo popover

did:key:z6Mki4CG...o5Zr commented on revision 3 10 months ago

Woodpecker pipeline #887 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/474
did:key:z6Mki4CG...o5Zr commented on revision 3 10 months ago

Woodpecker pipeline #887 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/474
did:key:z6Mki4CG...o5Zr commented on revision 3 10 months ago

Woodpecker pipeline #887 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/474
did:key:z6Mki4CG...o5Zr commented on revision 3 10 months ago

Woodpecker pipeline #887 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/474
did:key:z6Mki4CG...o5Zr commented on revision 3 10 months ago

Woodpecker pipeline #887 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/474
did:key:z6Mki4CG...o5Zr commented on revision 3 10 months ago

Woodpecker pipeline #887 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/474
rudolfs pushed revision 4 6c1e8ec0 on base 30f586a0 +1132 -627 10 months ago

Move fuzzy finder to the left hand side

did:key:z6Mki4CG...o5Zr commented on revision 4 10 months ago

Woodpecker pipeline #888 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/475
did:key:z6Mki4CG...o5Zr commented on revision 4 10 months ago

Woodpecker pipeline #888 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/475
did:key:z6Mki4CG...o5Zr commented on revision 4 10 months ago

Woodpecker pipeline #888 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/475
did:key:z6Mki4CG...o5Zr commented on revision 4 10 months ago

Woodpecker pipeline #888 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/475
did:key:z6Mki4CG...o5Zr commented on revision 4 10 months ago

Woodpecker pipeline #888 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/475
did:key:z6Mki4CG...o5Zr commented on revision 4 10 months ago

Woodpecker pipeline #888 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/475
rudolfs pushed revision 5 e31d446e on base 30f586a0 +1148 -629 10 months ago

Improve repo fuzzy search by allowing to search by description

did:key:z6Mki4CG...o5Zr commented on revision 5 10 months ago

Woodpecker pipeline #889 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/476
did:key:z6Mki4CG...o5Zr commented on revision 5 10 months ago

Woodpecker pipeline #889 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/476
did:key:z6Mki4CG...o5Zr commented on revision 5 10 months ago

Woodpecker pipeline #889 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/476
did:key:z6Mki4CG...o5Zr commented on revision 5 10 months ago

Woodpecker pipeline #889 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/476
did:key:z6Mki4CG...o5Zr commented on revision 5 10 months ago

Woodpecker pipeline #889 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/476
rudolfs pushed revision 6 8c23f1f3 on base 30f586a0 +1146 -629 10 months ago

Change filter icon color

did:key:z6Mki4CG...o5Zr commented on revision 6 10 months ago

Woodpecker pipeline #890 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/477
did:key:z6Mki4CG...o5Zr commented on revision 6 10 months ago

Woodpecker pipeline #890 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/477
did:key:z6Mki4CG...o5Zr commented on revision 6 10 months ago

Woodpecker pipeline #890 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/477
did:key:z6Mki4CG...o5Zr commented on revision 6 10 months ago

Woodpecker pipeline #890 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/477
did:key:z6Mki4CG...o5Zr commented on revision 6 10 months ago

Woodpecker pipeline #890 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/477
did:key:z6Mki4CG...o5Zr commented on revision 5 10 months ago

Woodpecker pipeline #889 completed with status: failure. ❌

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/476
did:key:z6Mki4CG...o5Zr commented on revision 6 10 months ago

Woodpecker pipeline #890 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/477
rudolfs pushed revision 7 48817fdc on base 30f586a0 +1145 -631 10 months ago

Tweak

  • show a proper button to remove queued project
  • show queued projects even if there are no other seeded projects
did:key:z6Mki4CG...o5Zr commented on revision 7 10 months ago

Woodpecker pipeline #891 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/478
did:key:z6Mki4CG...o5Zr commented on revision 7 10 months ago

Woodpecker pipeline #891 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/478
did:key:z6Mki4CG...o5Zr commented on revision 7 10 months ago

Woodpecker pipeline #891 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/478
did:key:z6Mki4CG...o5Zr commented on revision 7 10 months ago

Woodpecker pipeline #891 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/478
did:key:z6Mki4CG...o5Zr commented on revision 7 10 months ago

Woodpecker pipeline #891 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/478
did:key:z6Mki4CG...o5Zr commented on revision 7 10 months ago

Woodpecker pipeline #891 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/478
rudolfs pushed revision 8 187df645 on base 30f586a0 +1149 -634 10 months ago

Squash

did:key:z6Mki4CG...o5Zr commented on revision 8 10 months ago

Woodpecker pipeline #892 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/479
did:key:z6Mki4CG...o5Zr commented on revision 8 10 months ago

Woodpecker pipeline #892 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/479
did:key:z6Mki4CG...o5Zr commented on revision 8 10 months ago

Woodpecker pipeline #892 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/479
did:key:z6Mki4CG...o5Zr commented on revision 8 10 months ago

Woodpecker pipeline #892 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/479
did:key:z6Mki4CG...o5Zr commented on revision 8 10 months ago

Woodpecker pipeline #892 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/479
did:key:z6Mki4CG...o5Zr commented on revision 8 10 months ago

Woodpecker pipeline #892 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/479
rudolfs pushed revision 9 212576a1 on base 30f586a0 +1148 -633 10 months ago

Revert reaction change

did:key:z6Mki4CG...o5Zr commented on revision 9 10 months ago

Woodpecker pipeline #893 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/480
did:key:z6Mki4CG...o5Zr commented on revision 9 10 months ago

Woodpecker pipeline #893 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/480
did:key:z6Mki4CG...o5Zr commented on revision 9 10 months ago

Woodpecker pipeline #893 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/480
did:key:z6Mki4CG...o5Zr commented on revision 9 10 months ago

Woodpecker pipeline #893 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/480
did:key:z6Mki4CG...o5Zr commented on revision 9 10 months ago

Woodpecker pipeline #893 current status: created. ⏳

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/480
did:key:z6Mki4CG...o5Zr commented on revision 9 10 months ago

Woodpecker pipeline #893 completed with status: success. ✅

  • Details: https://woodpecker.radworks.garden/repos/6/pipeline/480
did:key:z6MkkfM3...sVz5 reviewed · 7 comments 10 months ago

Nice work first of all!

  • It seems that if you try to seed a repo you already have and then change the RID the error doesn’t go away and it doesn’t let the user seed an unknown repo, see video in comments
  • The add repo popover doesn’t go away after clicking the Seed button, I think it should.
  • I’m no example but I think we should try to keep the logic in radicle-types and point radicle-tauri to the implementations here is a diff
    • Also rewrote the seeded_not_replicated a bit to make use of the Seed_Policies iterator.
diff --git a/crates/radicle-tauri/src/commands/repo.rs b/crates/radicle-tauri/src/commands/repo.rs
index 8554087..ea0eb55 100644
--- a/crates/radicle-tauri/src/commands/repo.rs
+++ b/crates/radicle-tauri/src/commands/repo.rs
@@ -4,12 +4,10 @@ use std::str::FromStr;
 use radicle::git;
 use radicle::identity::project::ProjectName;
 use radicle::identity::{doc, Project, RepoId, Visibility};
-use radicle::node::policy::Scope;
 use radicle::rad::InitError;
 use radicle::storage::git::Repository;
 use radicle::storage::refs::branch_of;
-use radicle::storage::{ReadStorage, SignRepository, WriteRepository};
-use radicle::Node;
+use radicle::storage::{SignRepository, WriteRepository};
 use radicle_types as types;
 use radicle_types::error::Error;
 use radicle_types::traits::repo::{Repo, Show};
@@ -134,37 +132,15 @@ pub(crate) async fn create_repo(
 
 #[tauri::command]
 pub fn seed(ctx: tauri::State<AppState>, rid: RepoId) -> Result<(), Error> {
-    let profile = &ctx.profile;
-    let mut node = Node::new(profile.socket());
-
-    profile.seed(rid, Scope::All, &mut node)?;
-
-    Ok(())
+    ctx.seed(rid)
 }
 
 #[tauri::command]
 pub fn unseed(ctx: tauri::State<AppState>, rid: RepoId) -> Result<(), Error> {
-    let profile = &ctx.profile;
-    let mut node = Node::new(profile.socket());
-
-    profile.unseed(rid, &mut node)?;
-
-    Ok(())
+    ctx.unseed(rid)
 }
 
 #[tauri::command]
 pub fn seeded_not_replicated(ctx: tauri::State<AppState>) -> Result<Vec<RepoId>, Error> {
-    let profile = &ctx.profile;
-    let storage = &profile.storage;
-    let policies = profile.policies()?;
-    let mut entries = Vec::new();
-
-    for seed_policy in policies.seed_policies()? {
-        let rid = seed_policy.rid;
-        if !storage.contains(&rid)? {
-            entries.push(rid);
-        }
-    }
-
-    Ok(entries)
+    ctx.seeded_not_replicated()
 }
diff --git a/crates/radicle-types/src/error.rs b/crates/radicle-types/src/error.rs
index 7128b8c..406ac7f 100644
--- a/crates/radicle-types/src/error.rs
+++ b/crates/radicle-types/src/error.rs
@@ -19,6 +19,10 @@ pub enum Error {
     #[error("ssh agent not running")]
     AgentNotRunning,
 
+    /// Missing SSH Agent error.
+    #[error(transparent)]
+    RoutingError(#[from] radicle::node::routing::Error),
+
     /// Generic Cob cache error.
     #[error(transparent)]
     Cache(#[from] radicle::cob::cache::Error),
diff --git a/crates/radicle-types/src/traits/repo.rs b/crates/radicle-types/src/traits/repo.rs
index 4ea62f5..b490461 100644
--- a/crates/radicle-types/src/traits/repo.rs
+++ b/crates/radicle-types/src/traits/repo.rs
@@ -8,7 +8,7 @@ use radicle::node::routing::Store;
 use radicle::patch::cache::Patches as _;
 use radicle::storage;
 use radicle::storage::{ReadRepository, ReadStorage, RepositoryInfo};
-use radicle::{git, identity};
+use radicle::{git, identity, node};
 
 use crate::cobs;
 use crate::diff;
@@ -295,4 +295,35 @@ pub trait Repo: Profile {
 
         Ok(commits)
     }
+
+    fn unseed(&self, rid: identity::RepoId) -> Result<(), Error> {
+        let profile = self.profile();
+        let mut node = radicle::Node::new(profile.socket());
+
+        profile.unseed(rid, &mut node)?;
+
+        Ok(())
+    }
+
+    fn seed(&self, rid: identity::RepoId) -> Result<(), Error> {
+        let profile = self.profile();
+        let mut node = radicle::Node::new(profile.socket());
+
+        profile.seed(rid, node::policy::Scope::All, &mut node)?;
+
+        Ok(())
+    }
+
+    fn seeded_not_replicated(&self) -> Result<Vec<identity::RepoId>, Error> {
+        let profile = &self.profile();
+        let storage = &profile.storage;
+        let policies = profile.policies()?;
+        let entries = policies
+            .seed_policies()?
+            .filter(|policy| !storage.contains(&policy.rid).unwrap_or(false))
+            .map(|policy| policy.rid)
+            .collect::<Vec<_>>();
+
+        Ok(entries)
+    }
 }
rudolfs pushed revision 10 0db1140a on base 30f586a0 +1159 -633 10 months ago

Apply Sebastian’s suggestions

rudolfs pushed revision 11 43538815 on base 30f586a0 +1164 -633 10 months ago

Fix validation errors and clean up validation code

rudolfs pushed revision 12 b888daa8 on base 30f586a0 +1161 -637 10 months ago

Refactor and clean up

did:key:z6MkkfM3...sVz5 reviewed · 1 comment 10 months ago
rudolfs pushed revision 13 e6e615aa on base 30f586a0 +1161 -637 10 months ago

Convert px to rem where applicable

rudolfs pushed revision 14 e8075e9b on base 30f586a0 +1157 -637 10 months ago

Remove unrelated rust change

did:key:z6MkkfM3...sVz5 accepted 10 months ago

LGTM!

rudolfs merged revision e8075e9b at 299adcac 10 months ago