fix: remote actor display names in thought cards — use last URL segment as username, resolve display_name after intern
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m13s
test / unit (pull_request) Successful in 15m56s
test / integration (pull_request) Failing after 17m29s

This commit is contained in:
2026-05-15 01:04:42 +02:00
parent 3c6344f954
commit e83b08fcc8
4 changed files with 63 additions and 7 deletions

View File

@@ -342,6 +342,14 @@ pub trait ActivityPubRepository: Send + Sync {
/// Idempotent — safe to call multiple times with the same URL.
async fn intern_remote_actor(&self, actor_ap_url: &url::Url) -> Result<UserId, DomainError>;
/// Update display_name and avatar_url for an already-interned remote actor.
async fn update_remote_actor_display(
&self,
user_id: &UserId,
display_name: Option<&str>,
avatar_url: Option<&str>,
) -> Result<(), DomainError>;
// ── Inbox processing (remote → local) ───────────────────────────
/// Persist an incoming remote Note. Idempotent on ap_id.

View File

@@ -779,6 +779,14 @@ impl ActivityPubRepository for TestStore {
self.users.lock().unwrap().push(user);
Ok(uid)
}
async fn update_remote_actor_display(
&self,
_user_id: &UserId,
_display_name: Option<&str>,
_avatar_url: Option<&str>,
) -> Result<(), DomainError> {
Ok(())
}
async fn accept_note(
&self,
_ap_id: &url::Url,