Radish alpha
r
rad:z4D5UCArafTzTQpDZNQRuqswh3ury
Radicle desktop app
Radicle
Git
Avoid announcing changes when node is stopped
Merged did:key:z6MkkfM3...sVz5 opened 1 year ago

Also in the edge case that the frontend didn’t update and the node just stopped in between we fallback gracefully instead of returning an error on the backend.

checkcheck-e2e

👉 Workflow runs 👉 Branch on GitHub

3 files changed +16 -9 7d5ff0ac → ece9ee1e
modified crates/radicle-types/src/traits/issue.rs
@@ -114,7 +114,9 @@ pub trait IssuesMut: Profile {
        )?;

        if opts.announce() {
-
            node.announce_refs(rid)?;
+
            if let Err(e) = node.announce_refs(rid) {
+
                eprintln!("Not able to announce changes: {}", e)
+
            }
        }

        Ok::<_, Error>(cobs::issue::Issue::new(issue.id(), &issue, &aliases))
modified crates/radicle-types/src/traits/thread.rs
@@ -61,7 +61,9 @@ pub trait Thread: Profile {
        )?;

        if opts.announce() {
-
            node.announce_refs(rid)?;
+
            if let Err(e) = node.announce_refs(rid) {
+
                eprintln!("Not able to announce changes: {}", e)
+
            }
        }

        Ok(cobs::thread::Comment::<cobs::Never>::new(
@@ -102,7 +104,9 @@ pub trait Thread: Profile {
        )?;

        if opts.announce() {
-
            node.announce_refs(rid)?;
+
            if let Err(e) = node.announce_refs(rid) {
+
                eprintln!("Not able to announce changes: {}", e)
+
            }
        }

        Ok(cobs::thread::Comment::<cobs::thread::CodeLocation>::new(
modified src/views/repo/Issue.svelte
@@ -32,6 +32,7 @@

  import Layout from "./Layout.svelte";
  import Sidebar from "@app/components/Sidebar.svelte";
+
  import { nodeRunning } from "@app/lib/events";

  interface Props {
    repo: RepoInfo;
@@ -113,7 +114,7 @@
      await invoke("create_issue_comment", {
        rid: repo.rid,
        new: { id: issue.id, body, embeds },
-
        opts: { announce: $announce },
+
        opts: { announce: $nodeRunning && $announce },
      });
      // Update second column issue comment count without reloading the whole
      // issue list.
@@ -133,7 +134,7 @@
      await invoke("create_issue_comment", {
        rid: repo.rid,
        new: { id: issue.id, body, embeds, replyTo },
-
        opts: { announce: $announce },
+
        opts: { announce: $nodeRunning && $announce },
      });
      // Update second column issue comment count without reloading the whole
      // issue list.
@@ -159,7 +160,7 @@
          body,
          embeds,
        },
-
        opts: { announce: $announce },
+
        opts: { announce: $nodeRunning && $announce },
      });
    } catch (error) {
      console.error("Issue comment editing failed: ", error);
@@ -183,7 +184,7 @@
          id,
          title,
        },
-
        opts: { announce: $announce },
+
        opts: { announce: $nodeRunning && $announce },
      });
      // Update second column issue title without reloading the whole issue list.
      const issueIndex = issues.findIndex(i => i.id === issue.id);
@@ -216,7 +217,7 @@
            ({ did }) => publicKeyFromDid(did) === publicKey,
          ),
        },
-
        opts: { announce: $announce },
+
        opts: { announce: $nodeRunning && $announce },
      });
    } catch (error) {
      console.error("Editing reactions failed", error);
@@ -234,7 +235,7 @@
          type: "lifecycle",
          state,
        },
-
        opts: { announce: $announce },
+
        opts: { announce: $nodeRunning && $announce },
      });
      // Update second column issue icon without reloading the whole issue list.
      const issueIndex = issues.findIndex(i => i.id === issue.id);