Fetch user in real-time for searches

Fixes #84
This commit is contained in:
Andrew Godwin 2022-12-04 20:31:49 -07:00
parent 6291fa0f5c
commit 28ac03c42f
2 changed files with 10 additions and 2 deletions

View File

@ -1,10 +1,11 @@
from typing import Set from typing import Set
from asgiref.sync import async_to_sync
from django import forms from django import forms
from django.views.generic import FormView from django.views.generic import FormView
from activities.models import Hashtag from activities.models import Hashtag
from users.models import Domain, Identity from users.models import Domain, Identity, IdentityStates
class Search(FormView): class Search(FormView):
@ -37,7 +38,10 @@ class Search(FormView):
identity = Identity.by_username_and_domain( identity = Identity.by_username_and_domain(
username, domain, fetch=True username, domain, fetch=True
) )
identity = None if identity and identity.state == IdentityStates.outdated:
async_to_sync(identity.fetch_actor)()
else:
identity = None
if identity: if identity:
results.add(identity) results.add(identity)

View File

@ -782,6 +782,10 @@ table.metadata td.name {
margin-left: 32px; margin-left: 32px;
} }
.post.user {
overflow: hidden;
}
.left-column .post { .left-column .post {
background: var(--color-bg-box); background: var(--color-bg-box);
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);