Embed this noticePC-9801 Enjoyer (pawlicker@bae.st)'s status on Thursday, 13-Oct-2022 11:43:08 JST
PC-9801 EnjoyerHad friends take a look at my issues: One took a look at Elixir for OpenBSD and concluded that it has some hacks and to make matters worse the maintainer quit giving a shit because he doesn't use Elixir anymore. He then found Friendnica and thought it was interesting but was puzzled by how nobody gave a shit but it still gets active development.Another took a look at GNU social and came to a worse conclusion; directories are jank on BSD and GNU Social has some serious unfixed issues. Also it's being maintained by some college kid who gets to it once in a while which might explain some.
Hi. What is 'GNU Social has some serious unfixed issues'. We will fix it.
And if you have problem on GS. Please check log or submit log us. Debug log is enabled by following code on config.php. Output root directory is public.
@Pawlicker I did not say there were "directories are jank on BSD" and I was able to get it running on OpenBSD just fine, except some problems with running GNU Social on PHP 8.1
@gnusocialjp The problem is that GNU social has a sort of custom database abstraction built atop the PEAR package "MDB2" that hasn't been updated for over a decade now, which was primarily targeting PHP 4 and 5 support at the time. The problem is there may be some breaking changes in PHP 7 or 8, while that package (MDB2) is unmaintained. There's also some temporary architectural workarounds in GNU social that were put there, and never refactored for over a decade and counting (e.g. instantiate an instance of User, and use the getDatabaseConnection() method, just to grab the current instance of the database connection; in lib/database/schema.php). Nonetheless, if you try installing GNU social on PHP 8+, the installer breaks upon registering the first user and is left in an inconsistent state, requiring the database and config to be wiped before retrying the install.
I'd be willing to assist with any improvements to GNU social as well, I just don't know where the active project is. The repo referenced on the gnusocial.network website seems fairly inactive, and the last most active contributor hasn't made their own contributions in over a year, and their fedi instance is "currently offline". I don't know if there's a third-party effort elsewhere that has more activity.
@gnusocialjp I didn't have any issue with it conflicting with separately installed PEAR packages, it was more to do with issues internal to MDB2 itself. It was this issue that I was running into: https://notabug.org/diogo/gnu-social/issues/248 Meanwhile it was possible to getting around it using this very hackish workaround: https://notabug.org/diogo/gnu-social/pulls/252/files (I'm assuming something returned false in error, and that's just sidestepping it). Either way, it may be appropriate to just gut out MDB2 and work with PHP PDO directly as part of some DB code refactoring, but I understand that could be a monumental task. If there's interest in such an effort, I could try jumping into working on something like that perhaps. I think the inclusion of MDB2 was probably for an unfinished idea back in StatusNet days to have an ORM-like interface with the database, but never really finished, but that's just my assumptions in a cursory review of the code when I was trying to pin down the installer issue.