@mint Eientei has RUM enabled, but RUM's tsvector is applied to objects table, rather than activities. Still, if you observe search queries opting for sequential scan instead of using rum index, increasing fts_content sampling rate may help nudge the planner in the right direction, but use explain analyze to verify it's indeed filtering instead of doing bitmap/index scan and beware of increased analyze times, greater accuracy for planner estimates isn't free.
Increasing postgres statistic level turned out to be way more useful than anticipated; in case of a new user, with page size exceeding number of activities matching user timeline, planner was estimating over 200-300k rows and had to do filtering on id desc nulls last index instead of using bitmap scan on recipients gin index when filtering for recipients intersection, causing query to stall for several minutes.
alter table activities alter column recipients set statistics 1000;
analyze activities;
(a 10 times increase from base 100)
reduced estimates to ~1-3k rows and query time to 20-50ms with just bitmap scans of respective indices.
Another option might've been to force planner to scan ordering index after applying bitmap scan with putting everything but order/limit into subquery, but for it to work, subquery must include all Ecto preloads, which isn't something Ecto currently supports.
@menherahair@Kyonko802@Meemoo UNIX pipe is unfortunately limited to only one subscriber, same with plain network sockets without some protocol on top. DBUS might not be ideal, but so far only standardized way to handle one event in multiple destinations, which becomes useful once you start having hardware/network hot-plugging, multiple power states, or other system-wide events. Benefits from using dbus as RPC however are indeed fleeting, unless you absolutely need that per-method ACL, but then you'd probably need something like apparmor/selinux and bpf regardless.
@verita84_uwu@mint Looking at their repo, at least migration-wise it should still be possible to detransition. Most migrations are not destructive, some even providing the down/rollback option. You could start with mix ecto.rollback --to 20220108213213 (last upstream migration). Some migrations do not define down option, but those are just adding tables/columns, you would be able to drop them manually, just go through files between
Note that you do need to drop at least announcements table, as pleroma migrations would try to add it themselves, it would be safer to revert every change.
And then migrate everything up from upstream, it may even work.
Testing afterwards if everything works would be tedious, but doable. No need to take cosplay to 51% extreme just yet.
@verita84_uwu@mint If it is trivial as adding/renaming the field, you just do the logical reverse, drop/rename it back. Only possible with non-destructive migrations, switching to another hashing algorithm would likely require to explicitly support both algorithms on application level, or notify every user to set working emails and then do mass password reset after returning back to upstream. Assuming there isn't any more backwards-incompatible changes, so make a backup and experiment on local test instance maybe.
@verita84_uwu@mint Eientei did actually migrate to akkoma and back shortly after release to claim the title of most racist and transphobic akkoma instance. At least at the time getting back was nearly noop, maybe manually reverting one migration at most. Not to say they wasn't mean and petty all along, but there was no vendorlock.
@skylar@douse_niggers_in_gasoline_and_light_them_up@SunMcNukes@Zerglingman@lonelyowl@burner both outlook and gmail require you to create a postmaster account in their system. DNSSEC can improve scores too if your TLD supports it. Some, like t-online.de would simply refuse mails from small MTAs with no recourse, for them you might need to setup a transport via relay. Sendgrid for example has free plan for small (up to 100 a day) volumes.
@mint Apparently this can be in general slightly complicated by RFC 7686-compliant software like curl, and if you have a httpd already, another reverse proxy might be needed to re-direct 80 to the privoxy, but for now a temporary setup on eientei side is complete.
@dcc@lina@mint It is a good practice to not expose IP of local users to third parties without need. Besides, media proxy can be turned off, this just covers blind spot of proxying when media proxy is in use.