@i@mischievoustomato The fact that he asked feld of all people tells me a lot. If I remember correctly feld was annoyed at him a lot and the two major reasons that come to mind, why he would want to maintain his Pleroma fork again is probably because Nostr wasn't the thing he hoped for and/or the money is drying up.
@i@mischievoustomato feld is also lately interested in Delta chat, so it makes sense that his interest in Pleroma has dropped somewhat. He did a bunch of major changes/improvements and then moved across the country, so it makes sense to me that he would want some time without touching it. The reason why the nasty Oban bug was fixed in the first place was him talking to the maintainer directly while having access to one of mint's instances.
@mischievoustomato@i No idea how many people actually use it, but from the spillover that federated to Fedi, it was always either a bot, crypto shill, or some political loonie. Nothing of real value.
And every time I looked at Gleason's profile it was usually some random photos/memes and "See how Nostr is great" posts.
@phnt@i@mischievoustomato put it this way: even the people "forcing" bluesky, who have lots of power and control over the masses, are having a hard time doing it. Nostr I'm not sure is even "that" big in this side of the internet other than people shitting on the userbase or trolling that AI chatbot not long ago.
@phnt@mischievoustomato feld didn't really do a good job in redoing the queue work either, the bug i reported related to too many fields wasn't an issue until the rework let it become a recursive busy loop
too many things are being let stay deliberately borken until someone shitposts up a security issue to force a release out of develop
> your thing clamps off the version string too early
What's a reasonable length? 32 characters on the biggest table in the DB seems like enough for a version string. That's enough for the default 7-character git suffix and a separator with 24 characters left over. People want to shove branch names and build flags in there, and if all of the instances max out the 32 characters, that's almost a meg (2^5 + 2^15) on the big-ass 31k-instance list at /instance. If I do 64, that's 2MB, plus a migration to widen it on the instance and instance_log tables.
Disk space is less of an issue (because it's just in my house now) but bandwidth is a bigger issue than it was (because it's just in my house now).
This is a real question, by the way. Tone might make it look like a rhetorical question or like it's sarcastic but it's not. I do mean to ask what you think a reasonable length is. autism_and_gun.png
@i@mischievoustomato I mean you can't really expect a lot from 4 guys that have been doing it for almost a decade and mostly for free after the funding from MyFreeCams went away while also being employed.
It also doesn't help that the community gets annoyingly vocal about bugs, shittalks about them every few weeks in public while also almost never creating an issue for them, or trying to figure out why they happen. (See reply below.) You can't expect your bug to be fixed quickly, if you also cannot stop posting "lol, pleroma sucks tho" all the time. That's not how communication works. It's natural that nobody will want to touch your issue, if you talk like that.
Dear god. That should be either 2^(5+15) or 2^5*2^15. In my defense, I was trying to think of how much of a pain the migration would be (the conclusion was "probably not much of a pain" which is why I mentioned it but didn't say "And I'd have to kill off the whole site for $time_estimate" because I think it wouldn't be a huge pain to just widen the column from Postgres's perspective.).
This concludes the two-post clarification to the single post. I will avoid looking at the post again so as to avoid replying to myself a third time.
> user/version agents seem like a valid thing to intern to a table join,
Sure. They're treated as an opaque string and that wouldn't be hard to do as a join and I think the amount of time spent pulling it (the historical table doesn't even expose that data), but like I said, it's not a disk space or index size issue, it's the size of the page, and there has to be *some* limit: it is dirty data from the web.
So what's a good limit? Like, it costs potentially a meg now; 64 characters would be two megs on that page. 32 seems reasonable to me: it's enough space for "10.9.9.9.9.9.9.9.9.9.9.9+0123456". I don't think it'd be useful to add more than that.
> expected a varchar with validation on the client side so the change is a *2 and not a migration
By habit, I usually have the DB enforce as much as I can, but it looks like I didn't in this case. Like I said in the second correction, the migration wouldn't be a big deal; it looks like it would be an even smaller deal than expected because it wouldn't exist. The only constraints on instance_log are "NOT NULL" on id, instance_id, and ctime.
@p@fwc@phnt user/version agents seem like a valid thing to intern to a table join, that way all the common versions compact down and length is less of an issue
expected a varchar with validation on the client side so the change is a *2 and not a migration
@phnt@fwc@i I think the problem is including branch name *and* commit ID and still calling it Pleroma. Setting it to 50 would be the same line of reasoning that got me 32: "This is as big as anyone needs at present plus a little room." I think the problem is his version string rather than a cap on the size of the data I store/serve.
@p@fwc@i Yes, the real issue is the stupidly long version string with useless info, but I was thinking more in terms of UX than bandwidth. Truncating a version string at max chars looks weird in the UI, at least to me. That's how I got 50. It fits the stupid string, isn't that far from its length and also isn't as big as 64.
Another doable option would be to strip out the four digit number as I don't even know it's puprose, and only leave Pleroma Version-Commit-Branch.
My version string: Pleroma 2.9.1-480-g213b01a1-fluffytail-dev, is 42 characters for example.
@phnt@fwc@i Oh, and the "Pleroma" is stored in a different column. (They're different fields in the nodeinfo; it's designed to more or less capture nodeinfo.) So this would be "2.4.53-2105-g75fee846.develop+soapbox", 37 bytes. The important part is only the first 21 bytes, though: you can get the rest by just looking at 75fee846. Owncast put at some point put version, platform, and entire git commit: "Owncast v0.0.13-linux-64bit (1d6151c867ebb2f766815d3b116358085bc1c25e)".
Also it looks like it's only truncated in the <table>, not in the DB. I went looking for where I was enforcing this and it looks like I'm only ever showing it that way in the table. You look at the table and it's truncated, but on the page (e.g., https://fedilist.com/instance/pajcevina.net ), it shows the full version. When that table gets generated, there's a "heavy" flag that ignores some columns based on the number of results, so I've adjusted it: 16 characters on a "heavy" page and 64 otherwise instead of 32 every time.
I think probably the git commit shouldn't be in the version, like it should be reasonable to specify that information in a different field in the AP spec. For reference, here's the list of all of the versions that ever been given to the crawler, with the number of records matching that version (`SELECT count(*), "version" FROM "instance_log" GROUP BY "version"`). all-version.tsv
@p@fwc@i@phnt *opens up musl's <sys/utsname.h>* Wow, every field is like 65 bytes (64 chars + NUL).
OS curiosities aside, if the issue is mainly the big table, maybe that one could truncate + add ellipsis (tfw … U+2026 and ... (3 dots) both take 3 bytes in UTF-8) and the dedicated instance page could have a higher limit?
> even 128 wouldn't be enough for some of the more common user agents instances send either
Well, it's nodeinfo['software']['version'] rather than the UA that they send but as noted, I don't actually truncate it outside the <table>, apparently. The longest version string, based on the TSV, is "2.7.2 (compatible; Pleroma 2.4.53-881-g56df4ac4-finch-everywhere-promex-unboundedfix)".
> type +soapbox instead of +s in the search
Oh, the search is terrible at present. I was talking with mint about ways to fix it; right now it's just FTS across description, hostname, IP, title, and hashes of the hostname.
Ideally, IP allows CIDR, and if there are exact hostname matches, that should be in there, too.
What would probably be better is a search column for the software repo.
> Truncating a version string at max chars looks weird in the UI,
Yep. fediverse.observer is "good UI and noob-friendly", jointhedont, etc.; there are a lot of those, so at some point I gave up on trying to figure out what a normie might want and went with "useful to sysadmins and coders". (I think I'm not good at making a thing that is appealing to that kind of audience but I am good at making tools for people that make tools.) :autismapproved:
> Another doable option would be to strip out the four digit number as I don't even know it's puprose, and only leave Pleroma Version-Commit-Branch.
I don't really like trying to parse out information from the version; only pain comes from trying to make sense of opaque identifiers.
> My version string: Pleroma 2.9.1-480-g213b01a1-fluffytail-dev, is 42 characters for example.
Well, to be precise, "2.9.1-480-g213b01a1-fluffytail-dev" is 34.
> (tfw … U+2026 and ... (3 dots) both take 3 bytes in UTF-8)
And, hilariously, `class=""` takes 8 plus the class name, so my first thought, "Just put a class on the truncated ones" is actually at least three times as much overhead.
> and the dedicated instance page could have a higher limit?
@mischievoustomato@i@phnt The ratio of normal people on nostr has increased as the people obsessed with Bitcoin have gotten bored of talking about it but it's still mostly Bitchcoiners.