having done a bit of work on how these things are supposed to work, based on what nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 put into go-nostr with the relay websockets and client websockets from nostr-sdk there is a signal channel in the websocket that closes when it gets an auth-required prefix in the OK and what is supposed to happen is then whatever the client is doing, it should stop, sign an auth, and then wait
the relay is then supposed to do the same thing on the other side, waiting for ~5 seconds or so, for the auth response to come back, and then continue processing the REQ
i think this is a harder algorithm to code in javascript than in Go, and probably harder to code in almost every other language because async != concurrent != parallel
in javascript, at least, i think that you need to have some sort of promise thing that it opens up that triggers when the websocket receives the auth-required and that should trigger the signing process, and then you have to have some kind of sync to tell the client to wait on the request
i have no idea how anyone does it with strfry because it doesn't have auth built into it, the dreadful state of auth in nostr is largely due to nobody having written a decent auth routine on the relay that anyone uses, because evyrone is all strfrystrfry which has not been updated in months and probably abandoned
so, anyhow, gib zaps so i can focus on making a good relay 😁
btw, the lack of Go is probably part of why auth hasn't been fixed yet, it requires concurrency or complex logic in both sides of the equation
Thread collapsed
sir are you an ai bot? this is a problem on the damus client which has nothing to do with go or JavaScript.
I will not zap you, my relay works fine thanks.
sir, it's called touch typing
i assume that you haven't changed your relay code or updated it also concurrently with the regression, just checking, because i know it's easy to forget the billion things that go into an application... right now fighting with some json string escaping nonsense
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed