Thread

bitchat now uses georelays for geohash chats. uses the 5 known relays closest to any given geohash. helps with latency and makes spam more difficult. and further decentralizes chat. in app store now (1.3.2). android play store version does the same.

Replies (26)

This course of development is very curious. * Three platforms, three developers vibe coding * Each managing their platform's distribution systems * Each adding features in their own implementation * Features are then backported to the other codebases to maintain feature & protocol compatibility. * No protocol documents, the code (and maybe the prompts?) is the documentation
Correct me if I'm wrong, but doesn't that fragment the network and break these heatmap web apps (like bitmap.lat) because they cannot track events globally anymore? Unless they connect to all 300 georelays, I guess. Which seems possible for a dedicated spammer, but if hundreds of people are doing it from their browsers, it would likely be an issue.
I'm honestly wondering if this was a good idea, at least at this time. I'm sure you had good reasons to do it, and I certainly don't understand nearly half as much about the technical aspects as you do, but being able to find active rooms on a map view was really neat. As was having a choice of a variety of different clients that could all talk to each other. Spam was a problem, yes, but Nym showed that it was fairly easy to get rid of by simply using a relay that has rate limiting (such as Damus's). I understand that it would of course cause even more centralization if everyone was going to use that, but unless traffic was already causing severe resource strains, wouldn't it have been better to wait until there is a more significant userbase? A lot of people I talked to had trouble even understanding how it worked at this stage, how are they going to understand that there may essentially be several different versions of the same room on different relays, and depending on which client you use, you might see entirely different conversations? If it is not possible or desirable to expect other relays to rate limit, couldn't that be also done on the client side instead? For instance, any single account sending more than one message per second is likely spamming, as is anyone sending the same message from different accounts (such as the semicolon troll). Other alternative clients have tried different approaches β€” For instance, Nym has a customizable keyword filter, and bitmap.lat has a rudimentary pattern-based filter that worked pretty well that could potentially be ported to the app (you can see what it tests for in `src/lib/spam.test.ts` on their NostrHub). Basically I'm left wondering whether this move at this time killed all the momentum Bitchat had until now. My experience today was that most rooms on the app are essentially dead, and the ones that are working are those still using the global relays.