I guess we can do something to remove usage of reflect entirely, I think it's only being used for those annoying relay message array envelopes. Oh, and kind:0 metadata.
nostr:npub183739fkz7u07nj39yusk7556zdampuhtqx933ucqqwfnh9fjqylq0pcgnm I've implemented the missing RWMutex methods on TinyGo and now when I try to compile a program with go-nostr I get these errors:
wasm-ld: error: /tmp/tinygo391911041/main.o: undefined symbol: reflect.unsafe_New
wasm-ld: error: /tmp/tinygo391911041/main.o: undefined symbol: reflect.typedmemmove
wasm-ld: error: /tmp/tinygo391911041/main.o: undefined symbol: reflect.mapassign
wasm-ld: error: /tmp/tinygo391911041/main.o: undefined symbol: reflect.typedslicecopy
wasm-ld: error: /tmp/tinygo391911041/main.o: undefined symbol: reflect.unsafe_NewArray
wasm-ld: error: /tmp/tinygo391911041/main.o: undefined symbol: reflect.makemap
Does this mean we can't do JSON on TinyGo?
Discussion
Why are you using reflect?