diff --git a/app/activitypub/util.py b/app/activitypub/util.py index 461d8077..63c419e3 100644 --- a/app/activitypub/util.py +++ b/app/activitypub/util.py @@ -125,24 +125,24 @@ def post_to_activity(post: Post, community: Community): ], "object": { "id": create_id, - "actor": f"https://{current_app.config['SERVER_NAME']}/u/{post.author.user_name}", + "actor": post.author.ap_public_url, "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "object": { "type": "Page", - "id": f"https://{current_app.config['SERVER_NAME']}/post/{post.id}", - "attributedTo": f"https://{current_app.config['SERVER_NAME']}/u/{post.author.user_name}", + "id": post.ap_id, + "attributedTo": post.author.ap_public_url, "to": [ f"https://{current_app.config['SERVER_NAME']}/c/{community.name}", "https://www.w3.org/ns/activitystreams#Public" ], "name": post.title, "cc": [], - "content": post.body_html, + "content": post.body_html if post.body_html else '', "mediaType": "text/html", "source": { - "content": post.body, + "content": post.body if post.body else '', "mediaType": "text/markdown" }, "attachment": [], @@ -704,6 +704,9 @@ def make_image_sizes_async(file_id, thumbnail_width, medium_width, directory): content_type_parts = content_type.split('/') if content_type_parts: file_ext = '.' + content_type_parts[-1] + else: + if '?' in file_ext: + file_ext = file_ext.split('?')[0] new_filename = gibberish(15) diff --git a/app/community/util.py b/app/community/util.py index 6fc2b438..b07e2c16 100644 --- a/app/community/util.py +++ b/app/community/util.py @@ -211,7 +211,7 @@ def save_post(form, post: Post): filename = opengraph.get('og:image') or opengraph.get('og:image:url') filename_for_extension = filename.split('?')[0] if '?' in filename else filename unused, file_extension = os.path.splitext(filename_for_extension) - if file_extension.lower() in allowed_extensions: + if file_extension.lower() in allowed_extensions and not filename.startswith('/'): file = url_to_thumbnail_file(filename) if file: file.alt_text = opengraph.get('og:title')