A Nostr datastore (eg a relay) is actually just a Set. So here's an EventSet class, which implements the ES6 Set interface, and supports replaceable events: https://gitlab.com/soapbox-pub/ditto/-/blob/main/src/utils/event-set.ts
Usage of Infinity just to make the comparison `>=` type-safe when `opts.limit` is undefined.
Imagine having a global search that just works, from the very beginning, without having to build up your database with follows. Mastodon fears this.
How does it work, you say? Just add a search server to your config. Of course, you can self host one too. And if you don't do this, it will fall back to local full-text-search of your own SQLite database.
Regrettably, nostr.band currently offers the best experience. But I think with some tweaks we can change that. Issues with the Mostr relay should finally be solved. The issue was with Nginx - I was looking in the wrong place.
I needed to increase the number of Nginx workers. Also, I found out that a particular Nostr client was hitting it repeatedly with requests: https://github.com/SnowCait/nostter/issues/964
Mastodon users on Reddit stressing about adding content warnings for eye contact to their posts.
A guy says he was blocked from the DWAC Stock Truth Social group because he posted my video. 🤣 https://truthsocial.com/group/dwac-tmtg/posts/111679298269465365
I created a whole-ass complicated in-memory Nostr lookup thing, only to benchmark `matchFilters` and realize I could search my entire dataset 14,000 times per second in 5 lines of code.
Mastodon API followController, unfollowController, blockController, unblockController on Nostr using NIP-51 tag lists. I built a system to find the old event, update its tags, and republish it in an easy way.
|