Removing post url doesnt federate (ref #4372)

apub-post-remove-url
Felix Ableitner 5 months ago
parent 9240a653c0
commit a5b40618cc

@ -11,7 +11,7 @@ killall -s1 lemmy_server || true
popd
yarn
yarn api-test || true
yarn api-test-post || true
killall -s1 lemmy_server || true
killall -s1 pict-rs || true

@ -138,7 +138,7 @@ test("Unlike a post", async () => {
assertPostFederation(betaPost, postRes.post_view);
});
test("Update a post", async () => {
test.only("Update a post", async () => {
if (!betaCommunity) {
throw "Missing beta community";
}
@ -158,6 +158,11 @@ test("Update a post", async () => {
expect(betaPost.post.name).toBe(updatedName);
assertPostFederation(betaPost, updatedPost.post_view);
let updatedPost2 = await editPost(alpha, postRes.post_view.post, undefined);
expect(updatedPost2.post_view.post.url).toEqual(undefined);
let betaPost2 = await waitForPost(beta, updatedPost.post_view.post);
expect(betaPost2.post.url).toEqual(undefined);
// Make sure lemmy beta cannot update the post
await expect(editPost(beta, betaPost.post)).rejects.toStrictEqual(
Error("no_post_edit_allowed"),

@ -219,11 +219,13 @@ export async function createPost(
export async function editPost(
api: LemmyHttp,
post: Post,
url?: string
): Promise<PostResponse> {
let name = "A jest test federated post, updated";
let form: EditPost = {
name,
post_id: post.id,
url
};
return api.editPost(form);
}

@ -36,6 +36,7 @@ pub async fn update_post(
let local_site = LocalSite::read(&mut context.pool()).await?;
let data_url = data.url.as_ref();
dbg!(&data_url);
// TODO No good way to handle a clear.
// Issue link: https://github.com/LemmyNet/lemmy/issues/2287
@ -83,6 +84,7 @@ pub async fn update_post(
)
.await?;
dbg!(&url);
let post_form = PostUpdateForm {
name: data.name.clone(),
url,
@ -101,6 +103,7 @@ pub async fn update_post(
let updated_post = Post::update(&mut context.pool(), post_id, &post_form)
.await
.with_lemmy_type(LemmyErrorType::CouldntUpdatePost)?;
dbg!(&updated_post.url);
ActivityChannel::submit_activity(SendActivityData::UpdatePost(updated_post), &context).await?;

@ -131,6 +131,7 @@ impl Object for ApubPost {
audience: Some(community.actor_id.into()),
in_reply_to: None,
};
dbg!(&page.attachment);
Ok(page)
}
@ -205,6 +206,7 @@ impl Object for ApubPost {
} else {
None
};
dbg!(&url);
check_url_scheme(&url)?;
let local_site = LocalSite::read(&mut context.pool()).await.ok();
@ -240,6 +242,7 @@ impl Object for ApubPost {
let language_id =
LanguageTag::to_language_id_single(page.language, &mut context.pool()).await?;
dbg!(&url);
PostInsertForm {
name,
url: url.map(Into::into),

Loading…
Cancel
Save