Avatar
Cesar Dias
c6603b0f1ccfec625d9c08b753e4f774eaf7d1cf2769223125b5fd4da728019e
Building https://dev.nosotros.app

Yeah we spoke in Riga, my client is finally coming in a few days, won't have blossom support at first, but I added blossom uploads to the editor, so I just need the client to list the user media-servers (BUD-03), crud stuff, appreciate all the work.

Nice, I saw your library briefly when you released, I also been building heavily on rxjs, gonna try to give you some proper feedback as soon as I can

Appreciate it, but the current live version is super old, it's totally different now in every way.

GM! NIP-66 screen is getting sleek 🔥, anything I should put in there?

Yeah, I am not too much concerning with NIP50 for tagging, 99% of the time you are tagging someone you already follow, then just suggest the user his own following list

Yes, on the core folder https://github.com/cesardeazevedo/nosotros/tree/dev2/src/core, everything is built on top of a webSocketSubject multiplex (subscribe.ts), which makes everything ridiculously easy (calling .unsubscribe() from a rxjs stream automatically sends a close message without a thought), everything chained together

Also, not sure if they support batching and split of filters, by treating relays as observables, this make relatively easy, my implementation of everything is somewhat 200 lines of code (ignoring types), it doesn't try to do everything tho, just a simple observables opening and completing, I am thinking about releasing a library with some useful pipelines for feeds that makes super easy to compose related subscriptions into the same stream (something like withEventAuthor(), withMentionedAuthors(), withQuotes(), withThreads()), everything connected, making it easier to teardown everything

No really, I actually hacking around observable way before rx-nostr, I am not familiar with their implementation but I don't think they put the outbox model in mind like I did, one of the differences is that I treat relays as observables instead of arrays, therefor I can "start" a subscriptions without even know which relays is going to, this makes a lot of sense for the outbox model as I start the subscription with the relays "I know" and slowly push new relays to the stream based on author filters on the fly. So no need to know the relays before hand or wrap things in promises (I barely have any promises on my codebase)

I can kinda do all of that without a single if statement or imperative code, and also very easy to write unit tests

I been smoking observables and RxJS so much the past months, guess i'm cracked 💨

There's no token here, and won't be.

Replying to Avatar daniele

I think the solution is twofold: improve the relay API, also implementing HyperLogLog suggested by nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6, and promote more creative client-side business logics, with custom storage layers that can be used to optimize data aggregation and filtering.

I really want something like HyperLogLog to happen