Three possible uses for IRIs

On Tuesday, December 8, 2020 10:57 AM, John Cowan <cowan at ccil.org> wrote:

> On Tue, Dec 8, 2020 at 6:49 AM bie <bie at 202x.moe> wrote:
> ?
>
> > If the protocol were to change to allow IRIs, that's a *major breaking*
> > change that to me, as someone actually serving non-English content, is
> > not only completely unnecessary but harmful.
>
> As I said at the beginning of this thread, I don't think anyone is actually
> arguing for a change to the protocol.? What does warrant discussion is
> allowing IRI references as links in the text/gemini format.


I think some people really were calling for a breaking change to the protocol.
But I'm glad you're not, and I hope we can move on and stop talking about it.
What you propose here is allowing IRIs in link lines only? Or do you mean allowing
only IRIs for relative references?

I'm unsure whether that would require an IRI parser or not, but I'd feel more
confident with one. However, there is already a client torture test that *sort of*
covers this. It's not designed as an IRI test, but it includes invalid
characters in a link line.

gemini://gemini.conman.org/test/torture/0031

That page contains a link line that looks like this:

=> <0032> "Beware the bad link"

And the Go stdlib will actually correct this link and output a correct
absolute one. So in Amfora, it will go to the correct URL, which is
gemini://gemini.conman.org/test/torture/%3C0032%3E

I've set up my own test that contains a more complex Unicode character: ?.
It tests the path, as well as Unicode in the query strings.
You can access it at: gemini://makeworld.gq/test/iri-link.gmi

Go also corrects the link in that one, and it works. Allowing IRIs in link
lines (maybe only for relative links to ease parsing) would solve all
multi-lingual author problems.

But this is still a somewhat-breaking change, as once authors start using
these, other non-Go clients will likely begin to fail. And the correction
that Go does is not even complete, because it will not work on query strings.
And even if it did, it would not work in the Gemini way that doesn't allow
pluses, etc etc.

We're almost there with this one, but I still think it's a mistake, and it'll
make Gemini more complex. :/


makeworld

---

Previous in thread (20 of 32): 🗣️ colecmac (a) protonmail.com (colecmac (a) protonmail.com)

Next in thread (22 of 32): 🗣️ Petite Abeille (petite.abeille (a) gmail.com)

View entire thread.