Oddbean new post about | logout
 Found a bug in the nostr marketplace (nip?) today.  Seems like strfry can't parse these events.  It throws 'std::get wrong index for variant'  So that may mean the marketplace is gonna be hard to get your events out when so much of nostr runs strfry.  🤔 Is this why my moon socks aren't selling? 😂💎 
 i hate variants

they are a violation of static typing and the worst mistake of C was union types (the C form of the variant) 
 My absolutely shot in the dark guess is that maybe strfry doesn't like tags that don't have single char (like, e or p or ..) as the first element in the tag array.. just a guess.  Marketplace seems to have whole words as the first element.  I don't see much else that would be tripping it up.. 
 Will prob do more testing later to see if this theory is correct .. been seeing this error a while, finally I'm on the case with an event that can cause it 😎 
 the spec only says that only single letter tags have to be *indexed* not that any such tags other than a-zA-Z are invalid

it isn't supposed to index these tags, and if the spec for marketplaces depends on non-single-alphabetical-letter tags then it is wrong 
 like this one:

https://github.com/nostr-protocol/nips/blob/d251ca0da5372ba0ae0df76754d96068266a6778/24.md

this "title" tag key is wrong, for example, i don't know why it isn't `T` that is the logical one to use for that 
 just to clarify, what the spec states about indexing means that you can't search for this tag using a filter 
 Huh, ya and calendar events worked fine so that prob means my theory is wrong.  Could just really be malformed json, I'll have to snoop it on the wire. 
 this is why logging is so helpful - crazy ever changing protocols need it 
 Ohhh, interesting to know the indexing thing 🤔.. the world of nips 😎 
 yeah, filters are basically a super simple database query language 
 Is strfry still being developed? I thought the author moved on to other stuff. 
 Last commit was 6mo ago, so not quite unmaintained but... Ya I dunno.  Sometimes apps don't need changes for long periods 🙏 
 Don’t worry… we won’t need Strfry anymore. 😉🐝 
 the protocol doesn't need a lot of innovation on the back end, it's only ever the clients that are broken and sometimes the nips are retarded and violate the stuff in nip-01