Not new for me. Sometimes it works sometimes it doesn’t depending on race condition. Does not retry any REQs closed before AUTH.
potential regression in nip42 auth? I connect to a single relay that immediately sends an auth challenge, presumably after the home feed req gets is fired. home feed doesn’t ever load and I have to go to a profile view to get notes flowing 🤔
no change to my relay setup. just started seeing this behavior after the tf update. https://video.nostr.build/2738b92a3d0ba2539ee4add40f237bb1ce57b6ccceb056140f04e76576114b1d.mp4
Discussion
sounds like my experience too!
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
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
