“Why does my follower count change”

Great explanation:

#[0]

Which is why as clients we need a better method of calculating this.

Reply to this note

Please Login to reply.

Discussion

Excellent note.

I generally just assume I have between 1-1000 😅

Post not found, unless that's intentional, lol .

Same lol

I broadcasted it to a relay you’re on 🤔

Weird.

proper quote reposts fixes this

Using the latest APK from #[6] perhaps there's a bug with showing notes?

But still science

On 14 relays. Don't see it

Definitely Amethyst issue, note shows perfectly in nostrgram.

Glad this is why you had me kinda scared there for a sec reading this exchange.

AM I A GHOST??

I always take my follower count as a lower bound

And better understandable simple english explanations.

And what are notes?who creates them?Will there ever be explanation to this?

This reply is a note and you just created it

Then why am i given a liked notifications of w/c i don't recall i created?

Reply to self, just beautiful.

Exquisite thinking going on right there.

Talking of deign though, is there a drawback to having such exquisite out of the box design that feeling reluctant to change the placeholder avatar becomes a thing?

Mine fluctuates pretty wildly and I only appear to have max 100 or so followers (I'm using Amethyst)

I joined nostr after reading about the design and protocol and finding it pretty interesting. The followers calculation is the most stand out UX anomaly.

Yes we do. It changes crazily

Interesting... I am unable to verify that the event id of the quoted event matches the hash of the content.

Does it match for you? In native Kotlin, the sha256 of the content is not the id.

The signature checks if you use the event id, but it doesn't if i try to hash it again.

That's why Amethyst doesnt display. It doesn't accept as a valid message.

id matches for me

Something is off .. have to remove the two special chars in the message to match the id. Are we supposed to remove nonutf8 chars?

I don’t remove anything?

You certainly should not, and if the spec works that way, the spec is wrong. Don't display anything that isn't hashed or otherwise verified.

Some weird String to ByteArray differences going on... Looks like Nostr follows whatever JavaScript is doing.

Nostr's underlying serialization format is a really stupid thing to use for a cryptographic system. I won't be surprised if this has something to do with the bug.

ok, now I understand it.

It's about escaping the content field to create the JSON string. Some implementations are escaping newline char into "\n" (2 chars) but not other characters like LSEP into \u2028 (6 chars) before hashing.

Everything is fine in interfaces because they automatically space and unescape things.

But the hash is sensitive to those differences.

The issue is that some implementations PARTIALLY escape some characters and not escape others.

I am not sure if there is a standard for these choices.

Turns out, we hit something as new as last week: https://github.com/google/gson/issues/2295

JSON lib devs are struggling to figure out a standard to escape or not escape \u2028 and \u2029

#[4] we need to clarify how to escape the String of content in NIP-01 before the string is converted to bytes using UTF-8 and then hashed. Which characters get escaped and which ones don't

That is concerning.

I wonder are there any emoji that can be encoded as different UTF8 depending on the implementations too.

I think the underlying problem is that utf8 mostly concerning about how non-ascii characters can be packed in a ascii text which is json. The encode can varies as long as the decoded can restore it correctly. Nostr can’t allow varies encode given a same character, otherwise the id will differ. 😔

d41733136b81288fbd161707e080c5adc42195312a2bab32100f16e43a3e01c9

It leaves me with more questions than answers. Namely, how do we get an accurate count?

And should apps like Damus cache the follower count for a day or so, rather than ask relays each time?

Should follower count even exist in the UI if it can not accurate? Being an apologist for tech is not going to scale to mainstream UX.

I am starting to feel that trying to imitate Twitter is a bad idea for Nostr apps. Nostr apps should reduce clutter and focus on its unique strength - censorship resistant RSS feed.