forgejo/modules/forgefed
Panagiotis "Ivory" Vasilopoulos 81601eab85 feat(activitypub): use structure @PreferredUsername@host.tld:port for actors (#9254)
This modifies usernames of ActivityPub accounts to use the @example@example.tld
format with an additional optional port component (e.g. @user@example.tld:42).
This allows accounts from ActivityPub servers with more relaxed username
requirements than those of Forgejo's to interact with Forgejo. Forgejo would
also follow a "de facto" standard of ActivityPub implementations.

By separating different information using @'s, we also gain future
opportunities to store more information about ActivityPub accounts internally,
so that we won't have to rely on e.g. the amount of dashes in a username as
my migration currently does.

Continuation of Aravinth's work: https://codeberg.org/forgejo/forgejo/pulls/4778

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/9254
Reviewed-by: jerger <jerger@noreply.codeberg.org>
Reviewed-by: Ellen Εμιλία Άννα Zscheile <fogti@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Panagiotis "Ivory" Vasilopoulos <git@n0toose.net>
Co-committed-by: Panagiotis "Ivory" Vasilopoulos <git@n0toose.net>
2026-01-30 23:45:11 +01:00
..
activity_follow.go refactor & enhance AP elements used (#7728) 2025-06-02 22:29:10 +02:00
activity_follow_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
activity_like.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
activity_like_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
activity_undo_like.go chore: branding import path (#7337) 2025-03-27 19:40:14 +00:00
activity_undo_like_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
activity_user_activity.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
activity_user_activity_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
activity_validateandcheckerror_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
actor.go refactor & enhance AP elements used (#7728) 2025-06-02 22:29:10 +02:00
actor_person.go feat(activitypub): use structure @PreferredUsername@host.tld:port for actors (#9254) 2026-01-30 23:45:11 +01:00
actor_person_test.go feat(activitypub): use structure @PreferredUsername@host.tld:port for actors (#9254) 2026-01-30 23:45:11 +01:00
actor_repository.go refactor & enhance AP elements used (#7728) 2025-06-02 22:29:10 +02:00
actor_repository_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
actor_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
forgefed.go refactor & enhance AP elements used (#7728) 2025-06-02 22:29:10 +02:00
nodeinfo.go add port and schema to federation host (#7203) 2025-04-16 08:07:51 +00:00
object_user_activity_note.go refactor & enhance AP elements used (#7728) 2025-06-02 22:29:10 +02:00
object_user_activity_note_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00
outbox.go fix: add stub outboxes to actors (#10120) 2025-12-01 16:51:35 +01:00
repository.go feat(federation): validate like activities (#3494) 2024-05-07 07:59:49 +00:00
repository_test.go log instrumentation & test package (#10371) 2025-12-09 15:37:50 +01:00