summaryrefslogtreecommitdiffstats
path: root/users
diff options
context:
space:
mode:
authorAndrew Godwin2022-11-21 21:18:13 -0700
committerAndrew Godwin2022-11-21 21:18:13 -0700
commit53d94529175dface366a935eea2c2bcc1eeab15c (patch)
tree169575fc31d532fdb31a924636fc535c55c60df4 /users
parenta80e0f117a0271d428abd939e2896857a8da1b5c (diff)
downloadtakahe-53d94529175dface366a935eea2c2bcc1eeab15c.tar.gz
takahe-53d94529175dface366a935eea2c2bcc1eeab15c.tar.bz2
takahe-53d94529175dface366a935eea2c2bcc1eeab15c.zip
Outgoing mentions mostly work (exc. cc followers)
Diffstat (limited to 'users')
-rw-r--r--users/models/identity.py12
-rw-r--r--users/views/activitypub.py4
2 files changed, 8 insertions, 8 deletions
diff --git a/users/models/identity.py b/users/models/identity.py
index 7116021..7d3d7d5 100644
--- a/users/models/identity.py
+++ b/users/models/identity.py
@@ -97,7 +97,6 @@ class Identity(StatorModel):
unique_together = [("username", "domain")]
class urls(urlman.Urls):
- view_nice = "{self._nice_view_url}"
view = "/@{self.username}@{self.domain_id}/"
action = "{view}action/"
activate = "{view}activate/"
@@ -113,14 +112,15 @@ class Identity(StatorModel):
return self.handle
return self.actor_uri
- def _nice_view_url(self):
+ def absolute_profile_uri(self):
"""
- Returns the "nice" user URL if they're local, otherwise our general one
+ Returns a profile URI that is always absolute, for sending out to
+ other servers.
"""
if self.local:
return f"https://{self.domain.uri_domain}/@{self.username}/"
else:
- return f"/@{self.username}@{self.domain_id}/"
+ return self.profile_uri
def local_icon_url(self):
"""
@@ -206,7 +206,7 @@ class Identity(StatorModel):
def handle(self):
if self.domain_id:
return f"{self.username}@{self.domain_id}"
- return f"{self.username}@UNKNOWN-DOMAIN"
+ return f"{self.username}@unknown.invalid"
@property
def data_age(self) -> float:
@@ -238,7 +238,7 @@ class Identity(StatorModel):
"publicKeyPem": self.public_key,
},
"published": self.created.strftime("%Y-%m-%dT%H:%M:%SZ"),
- "url": str(self.urls.view_nice),
+ "url": self.absolute_profile_uri(),
}
if self.name:
response["name"] = self.name
diff --git a/users/views/activitypub.py b/users/views/activitypub.py
index 0ba7d67..1ca80a1 100644
--- a/users/views/activitypub.py
+++ b/users/views/activitypub.py
@@ -128,13 +128,13 @@ class Webfinger(View):
{
"subject": f"acct:{identity.handle}",
"aliases": [
- str(identity.urls.view_nice),
+ identity.absolute_profile_uri(),
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
- "href": str(identity.urls.view_nice),
+ "href": identity.absolute_profile_uri(),
},
{
"rel": "self",