astro / astro/buzzrelay

Tag name normalization causes actors to be served with an unexpected name

Open
#19 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
110
Forks
11
PR merge metrics
No merged PRs in 30d

Description

This was reported by GotoSocial user @chri2 in superseriousbusiness/gotosocial#3063. When they enter the tag name `trööt` in the relay URL page at https://relay.fedi.buzz/, the resulting actor URL is https://relay.fedi.buzz/tag/tr%C3%B6%C3%B6t. However, resolving that URL shows an actor where `deunicode` normalization results in the actor's ID actually being https://relay.fedi.buzz/tag/troot, and GtS currently rejects that as a match for the actual URL being queried, so the actor doesn't appear in search results.

Mastodon doesn't appear to care, and will show the deunicoded version of the actor in search results.

AP is vague enough on actor resolution that I'm not sure which, if not both, actor resolution behaviors are correct, so I'd like to propose a low-impact fix: apply a deunicode-equivalent transform in the page at https://relay.fedi.buzz/, so that entering `trööt` as a tag name would result in the actor URL https://relay.fedi.buzz/tag/troot being shown to the user.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the tag-name handling for the relay URL page and trace how the entered name becomes the actor URL. Compare the current encoded form with the proposed deunicode-equivalent form, then verify that entering `trööt` produces `/tag/troot` and that the resulting actor resolves as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, web-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.