The way the relays are woven in is really nice.
Discussion
It is nice how I shows the relays, but I don't know how useful that is. I guess its nice to see though
What I really like about it is how smoothly it loads everything without jumping around
It doesn't have automatic updating of feeds, though, or at least something to alert that there are new notes, as there are on Nostter.
That's correct, I am being very careful to avoid content jumping, you are reading the feed then new notes are arriving and mess your scroll, the idea is to implement a tooltip of "show 5 new posts"
whats your strategy for preventing content from popping in in the middle of the feed? for example a slow relay responds with a new event right before the current event the user is looking at
The main feed isn't fully sorted, I don't think the main feed needs to be fully sorted by date, most people are very used to heavily algorithm feeds to care about a strict chronologic feed, notification feed makes more sense to be fully sorted.
There's a RxJS bufferTime operator on the feed event stream to update the feed in batches of 500ms (which also helps avoids unnecessary re-renders), so let's say we have a batch of 30 notes, I sort these 30 notes by created_at, and insert them at the end of the feed, the next batch the same, if a slow relay returns new events, it will be just added at the end of the feed, without impacting what the user is reading.
The approach works best with timed range pagination (until + since) instead of limit based pagination (limit, then look for a until date), I tried to implement a limit based pagination way too many times but always run into really annoying issues like huge pagination gaps, also the limit approach doesn't work well with the outbox model as you will split a filter of 1000 authors with a limit of 50 events, you ended up with way more than 50 events.
Allow opting-out of the new posts notification at least, I added this to coracle at one point, and I think it's a very dark/annoying pattern.
For me the front-and-center relay visibility helps solve the "Is this thing on?" UI problem. (Someone else came up with that term, I stole it.) As you post you see the note hit the relays one by one, it's confidence boosting. Also shows errors when it doesn't hit a relay, you can check why.
Also you see up top which of your relays are online. Sometimes if nothing's happening on refresh I'll glance up, it shows 0/4 relays, I move my VPN to another location, then all 4 come online one by one. (VPN issues can mean other websites work fine but most of your Nostr relays are offline, making you always unsure of the online status.) Things like that.
And it just helps you feel the pulse of Nostr, like you start to understand intuitively what it's all about.
Plus I'll sometimes hover over the relays of other people's notes just cause I'm curious. Like your note, I'll have a look at say to myself "oh okay, using their own relay, cool".

Totally agree on this, I ended up implementing these features mainly for my self at first while developing, I am doing my best to expose relay errors when publishing, which will be a thing when wot relays get more popular, I think there's a lot of other opportunities to expose "is this thing on" for users in a nicer ux, I have some ideas about it, especially for outbox stuff
Cool, curious to see how it developers.
Also are the labels for inbox/outbox backwards here? It seems outbox relays are labelled "these are the relays you are reading from" and inbox are labelled "the ones you are writing to". Which seems reversed. Unless I'm parsing the UI wrong, or maybe it's my understanding of outbox terms that's reversed?

Good catch, I mess up few things, gonna get it fixed now, should be easy
I agree, it might be somewhat useful once I have more outbox features, at the end I just want to expose relays to normal users in a good ux, at least gives a sense that the app is working and being "smart" about where it's finding notes, but I'm not there yet.
Communities the author specifically targeted is more useful.
Now a childporn relay can store your note and people will see that, as if you chose that. Or am I missing something?
I am not sure if I understood you comment actually
What are the relays you're currently displaying?
Any relay the event can be found on?
Since I see personal relays in this list, I think I have my answer.
Now imagine that nostr.mom is a relay with only a certain kind of m🍑ms on it.
This is the permission-less part, you don't want to surface.
