Fixes various issues with pinned posts (#580)

pull/581/head
Christof Dorner 2023-05-15 16:54:32 +00:00 zatwierdzone przez GitHub
rodzic 5297b98273
commit 9bc18a1190
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 15 dodań i 4 usunięć

Wyświetl plik

@ -760,11 +760,22 @@ class Identity(StatorModel):
try:
data = canonicalise(response.json(), include_security=True)
items: list[dict | str] = []
if "orderedItems" in data:
return [item["id"] for item in reversed(data["orderedItems"])]
items = list(reversed(data["orderedItems"]))
elif "items" in data:
return [item["id"] for item in data["items"]]
return []
items = list(data["items"])
ids = []
for item in items:
if not isinstance(item, dict):
continue
post_obj: dict | None = item
if item["type"] == "Create":
post_obj = item.get("object")
if post_obj:
ids.append(post_obj["id"])
return ids
except ValueError:
# Some servers return these with a 200 status code!
if b"not found" in response.content.lower():

Wyświetl plik

@ -185,7 +185,7 @@ class IdentityService:
}
def sync_pins(self, object_uris):
if not object_uris:
if not object_uris or self.identity.domain.blocked:
return
with transaction.atomic():