fix sync
This commit is contained in:
@@ -18,7 +18,9 @@ use signed_nostr::UniversalSigner;
|
||||
use crate::backend::{Backend, BackendEvent};
|
||||
use crate::bootstrap::user_grasp_list_servers;
|
||||
use crate::checkouts::CheckoutsStore;
|
||||
use crate::push::{GraspPush, PushOutcome, grasp_base_url, grasp06_prs_url, pr_clone_urls};
|
||||
use crate::push::{
|
||||
PushOutcome, grasp_base_url, grasp06_prs_url, pr_clone_urls, require_relay_accepted,
|
||||
};
|
||||
use crate::repos::RepoListStore;
|
||||
use crate::sync_status::SyncStatusStore;
|
||||
|
||||
@@ -865,10 +867,11 @@ impl RepoStore {
|
||||
}
|
||||
}
|
||||
|
||||
let publish_result = {
|
||||
let pusher = GraspPush::new(client.clone(), signer.clone());
|
||||
pusher.send_accepted(event).await
|
||||
};
|
||||
let publish_result: Result<Event, Error> = async {
|
||||
let output = client.send_event(&event).broadcast().await?;
|
||||
require_relay_accepted(output, event)
|
||||
}
|
||||
.await;
|
||||
|
||||
let pr_event = match publish_result {
|
||||
Ok(event) => event,
|
||||
@@ -1041,10 +1044,12 @@ impl RepoStore {
|
||||
}
|
||||
};
|
||||
|
||||
let publish_result = {
|
||||
let pusher = GraspPush::new(client.clone(), signer.clone());
|
||||
pusher.publish_one(builder).await
|
||||
};
|
||||
let publish_result: Result<Event, Error> = async {
|
||||
let event = builder.finalize_async(&signer).await?;
|
||||
let output = client.send_event(&event).broadcast().await?;
|
||||
require_relay_accepted(output, event)
|
||||
}
|
||||
.await;
|
||||
|
||||
if let Err(e) = publish_result {
|
||||
return this.update(cx, |this, cx| {
|
||||
@@ -1309,8 +1314,12 @@ impl RepoStore {
|
||||
};
|
||||
|
||||
let task: Task<Result<(), Error>> = cx.spawn(async move |this, cx| {
|
||||
let pusher = GraspPush::new(client, signer);
|
||||
let publish_result = pusher.publish_one(builder).await;
|
||||
let publish_result: Result<Event, Error> = async {
|
||||
let event = builder.finalize_async(&signer).await?;
|
||||
let output = client.send_event(&event).broadcast().await?;
|
||||
require_relay_accepted(output, event)
|
||||
}
|
||||
.await;
|
||||
|
||||
if let Err(e) = publish_result {
|
||||
this.update(cx, |this, cx| {
|
||||
@@ -1421,7 +1430,6 @@ async fn publish_patch_series(
|
||||
first_marker: &str,
|
||||
reply_to: Option<EventId>,
|
||||
) -> Result<Event, Error> {
|
||||
let pusher = GraspPush::new(client.clone(), signer.clone());
|
||||
let mut root: Option<Event> = None;
|
||||
let mut previous = reply_to;
|
||||
|
||||
@@ -1468,7 +1476,9 @@ async fn publish_patch_series(
|
||||
}
|
||||
|
||||
let builder = EventBuilder::new(Kind::GitPatch, part.clone()).tags(tags);
|
||||
let event = pusher.publish_one(builder).await?;
|
||||
let event = builder.finalize_async(signer).await?;
|
||||
let output = client.send_event(&event).broadcast().await?;
|
||||
let event = require_relay_accepted(output, event)?;
|
||||
|
||||
if root.is_none() {
|
||||
root = Some(event.clone());
|
||||
|
||||
Reference in New Issue
Block a user