Oddbean new post about | logout
 Ok, keeping the feed consistency between the outbox model (only downloading certain event kinds from certain relays based on the author's lists) + maintaining EOSE's for each subscription in each separate relay so we don't download things twice + rotating the filter within each relay because either the follow list or the kind list is too big for that particular relay + reconnecting to AUTH as separate users that are logged into the app + packing as much into a single subscription as possible because many relays limit the number of subscriptions is driving me slighly crazy.

Nostr is easy only in the first 10 days of developing an app. 
 Agreed, it's madness 
 Yep, doing nostr right is hard 
 keep it up! :) 
 I tried it and came to conclusion that I am too dumb to do that well and switched to a background service that fetches stuff properly at it's own pace and UI reading from local db. At least there was no tension btw UI latency and relay overload. 
 Yeah, but there is no way for the background service to know what the user is looking at, there is no way to prioritize them and it might take forever to load. :(  
 Well ideally user wouldn't see anything that requires further networking. That's not gonna work with search and global ofc, but those are kind of rare cases. Damus is trying to perfect this approach so hopefully we'll have something to learn from there 
 One of the reasons I went for relay development instead of client app 😀 
 have you passed the I can't store all these indexes in memory anymore stage? :)  
 it is tricky 
 Indeed crazy   
 😅 
 That's one long sentance St Paul 
 Right, now make all this simultaneously for two feeds and merge them into one ⚰️ 
 Not just two, all 15 feeds run in parallel on Amethyst. We just don't merge them in the same UI feed. 
 It's just signed JSON until it's not. 😅 
 👀