There's no such thing as Plain Text in a social context.

People reference stuff and want to communicate clearly. That's the point.

There's a space in between TXT and going full MarkDown / AcsiiDoc.

People will (and already) think your app looks broken without it.

Reply to this note

Please Login to reply.

Discussion

dont forget invoice urls, ln, cashu, addresses, basically anything longer than a screen width and no spaces.

Yup, totally!

Some clients also render nostr links (eg for npubs) even without the nostr-colon protocol. It’s not always good though.

Ooh, good! Thanks.

Then why is not a single app following this?

And why does most devs tell me all the time that kind 1 and 9 *have to be* plain text?

1) because it was never standardsised in the protocol so apps did their own thing.

2) in an attempt to make creating a simple client easier so it doesn't need so much custom rendering.

NUML?

Great to see the attempt tbh!

But man, their branding :haha:

1) I know of no app that does render any of this in compact renderings (quoted events, one liners, ...)

2) that leads to barely anyone building libraries for the hard stuff, that can make building the beautiful experiences, that people actually want, easier

Much more thought went into ATProto lexicons, have to say.

Got ya.

Not easy for me to find this stuff, before I #complainstr about its non-existence, oops.

Agree with most of the list in there.

(But again, there's not one app that has this basis covered for compact text references. That's the one renderer everyone forgets about.)

We are looking for an investor who can lend 75,000 US dollars to our holding.

We are going to establish a furniture manufacturing facility, but we are short of 75,000 US dollars to complete our budget. Therefore, we would like to borrow 75,000 US dollars from you.

In today's industry, the furniture business ensures fast sales and also provides great profit opportunities.

We will open a furniture production facility in Baku, Azerbaijan, with the 75,000 dollars you will give.

You will lend 75,000 US dollars to our holding. When the date 22.12.2025 comes, I will return your money as 750,000 US dollars.

You will lend 75,000 US dollars to our holding company. When 22.12.2025 comes, I will give you your money back as 750,000 US dollars.

You will have made 10 times profit in 9 months

When 22.12.2025 comes, you will get your money back as 750,000 US dollars

The link below is the link to our website. For detailed information, open the link to our website below and review the articles on our website in detail.

To learn how you can lend 75,000 US dollars to our holding and to get detailed information about our project, please review the articles on our website in the link below.

The link below is the link of our website. Detailed information is available on our website. For detailed information, check out our website at the link below.

Our website link:

https://adenholding313.wixsite.com/adenholding/investment-info

And also position. Images inserted and rendering in-line in Primal are rendered all at the end of the post in other clients. You think you've made a nice step by step help post on Primal, only to open it somewhere else and see it makes no sense.

:110percent:

For chat it's gonna be even worse, if everyone starts doing their own thing.

Writing up proposal for that.

Some good stuff to glean from tinkering over there. There are 10 or so "Kind1" clients on ATProto (among them the Bluesky client itself, others like skeetsapp.com, deck.blue...) but this messy Kind1 problem does not exist on ATproto because of how the lexicon concept works.

If you make a "Kind1" client there, either you run with the leading lexicon or you don't. The leading lexicon limits posts to 300 characters, for example. If you can't accept that then you have to make a new lexicon and try to get some traction for that new one. Some do, some don't.

On Nostr a client can cheat, try to get the best of both worlds (a) the existing userbase vis a vis interop plus (b) the unlocked limit that nobody else offers. "Screw y'all I'm doing it." But that cheating will always incur a cost, and in Nostr it's always the user who pays that cost, and the cost is now getting very high.

https://youtu.be/JSauiX7XHDo?t=1066

This is worth watching, your exact issue. From 17:45 on lexicons, but whole video good.

Oh wow, thanks will do. Queued!

nostr:naddr1qvzqqqr4gupzqprpljlvcnpnw3pejvkkhrc3y6wvmd7vjuad0fg2ud3dky66gaxaqqgxymr4v4ekk7fdweej6mn0wd68y94g600

And this for context on the "facets" thing they have, which works alongside.

These facets are clean, until you have to interop on them.

The concept of interop is different. You can't "riff" on stuff there over there (purposefully). Either you jump on an existing bandwagon, or you start your own, nothing in between.

Basically what's happening now with the same NIP 29 group as viewed in 0xchat and Chachi—hard to see how that could happen on ATproto. There would be a lexicon clash before you even get to the rest of it all.

That's actually really funny. I don't post from Primal but I read there & I've noticed the opposite also happens.

:eyebrows:

Agree. I use markup in _everything_.

We need an table listing all the Nostr clients and how they render this stuff, just like we have for web browsers and HTML. Something like this https://caniuse.com/?compare=chrome+134,edge+134,safari+18.3,firefox+136,ios_saf+18.3&compareCats=all