Unreplied-to threads

Started by Arakor Nicodemus at Dec 30, 2020 4:52 pm
98 Views
6 Posts

Arakor Nicodemus

0
?Years Young
3 Posts

So I found myself wanting the ability to see unreplied to topics across the site and I think I whipped up a basic version for it. It's really not fancy, it doesn't paginate, doesn't do filtering (except access control), but as a first step it seems to work.

Since there's no plugin system I just made it as new sources/language/template files which should be able to be dropped into the right places.

I put the 3 files in the right places in https://github.com/Arantor/vesta-unreplied for people to see where to get things from. It manifests as /unreplied once you have the files in there.

Hope this is OK, if it's not OK let me know and I'll take the repository down. (I've only shared the 3 new files, though derived from Vesta obviously.)


Arceus

codemancer
0
30Years Young
75 Posts

They don't think that I listen, oh but I know who they are.


Unfortunately, Vesta is not open source at this time. If you'd like a feature or function added to it, please request it. Thank you.


Arakor Nicodemus

0
?Years Young
3 Posts

So should I remove the code I wrote that I shared in the hopes it would help others or not? Again note that I did not post anything on GitHub except the files I wrote. Or are you saying that I can’t make changes (even writing new files), in which case I need to find a new software?

have to be honest, am a bit bummed because I had ideas for other features I could contribute.

 

ETA: I’m not asking for inclusion, I just posted things in the hopes they would be useful to others. You know, like mods for other platforms (even ones that are not open source)


Arceus

codemancer
0
30Years Young
75 Posts

They don't think that I listen, oh but I know who they are.


I would prefer if others didn't modify my code or add new code to it, especially not without asking me first. I find it disrespectful to just start doing whatever with someone else's software without permission to do so. I've worked my ass off on Vesta and I've done it entirely alone, and I don't think it's asking too much to ask others not to mess with it. I'm considering taking on assistance with it, but beyond that, at least ask me first before you go messing with it. I probably would've okayed this if it'd been run by me first but as it stands, I'm not okay with this.

By the way, there will be no plugin system in the future. The goal with Vesta is for it not to need to be modded to hell to work for roleplay. It should do most of everything a RP admin is going to want it to do out of the box to make setting it up easy and not require too much technical knowledge. If it needs a plugin system, it's failed that. Unfortunately, if you're looking for something that anyone can add to or alter on a whim, Vesta's not it and is unlikely to ever be. Sorry for the disappointment.


Arakor Nicodemus

0
?Years Young
3 Posts

I wasn't looking for something that people can just add to on a whim. As demonstrated, I am perfectly capable of writing my own additions to it from a standing start with no documentation in a couple of hours.

I shared this here on the basis that I thought it might help someone out who was already using Vesta and finding they didn't have this function. I honestly thought I was doing you a favour by trying to do what all the other forum platforms do and allow for people to customise and tweak things in ways that people hadn't thought of. I've removed the repo.

I don't need your help in writing functionality, but if I can't share what I've done, even for just other people who might be interested, that kills any motivation I had. We all grow and learn by studying each others' things and while I get the desire for not having a plugin system it clearly sends the message that you think you're better than everyone else and you know best above all else. The point of a plugin system is so that people who have ideas you don't can implement and share those ideas. You are right now telling me - and everyone else here - that you know best about everything and that if it isn't how you think it should work, we can all go take a hike.

This to me is unacceptable as a software platform and I will be migrating off Vesta as soon as possible.

There is so much potential here, and you've clearly put a lot of work into it, but I can't help but feel that this approach of shutting out would-be contributors is detrimental to you and Vesta. I used to be like you - then I studied other peoples code (as you clearly have with SMF, I see so many inspirations at the code level) - and I grew as a developer by learning from other people, their thoughts, their suggestions and most importantly their code.

 

I won't disturb you again but I do have a few things you might want to consider in a future version:

  • when going through installation, if the listed database doesn't already exist, probably should tell the user rather than just failing without any message
  • when accidentally hitting the front page without having installed Vesta, it probably should not just fail immediately with a 500 error- [Wed Dec 30 21:12:10.569000 2020] [php7:notice] [pid 33] [client 172.18.0.21:59550] PHP Fatal error:  Uncaught Error: Call to a member function prepare() on null in /var/www/html/application/core/metis.php:52\nStack trace:\n#0 /var/www/html/application/core/metis.php(106): metis->runQuery('SELECT * FROM s...', Array)\n#1 /var/www/html/application/core/ananke.php(38): metis->db_query('SELECT * FROM {...', Array)\n#2 /var/www/html/application/core/vesta.php(27): ananke->load_settings()\n#3 /var/www/html/index.php(37): vesta->__construct()\n#4 {main}\n  thrown in /var/www/html/application/core/metis.php on line 52
  • the suggestion on the default front page to 'just put forums in the admin panel' will break the front page, it should be 'forum' instead of 'forums' - maybe even validate that what people put in that admin panel won't just break the site by accident
  • don't rely on the database having the right collation or character set being defined by default especially if you want emojis to work correctly in posts, or indeed accented letters or anything else - mine is set up as utf8mb4_general_ci but a lot of hosting environments still default to latin1_swedish_ci
  • definitely don't rely on the database connection being configured that way, either use the charset option on the PDO constructor or, failing that, a SET NAMES query
  • update the version so that 1.0.1 or beyond doesn't advertise itself as Beta 2
  • when the post form is submitted but there is an error, don't just lose the rest of the form submission, e.g. losing the user's post just because they forgot to set a title, but instead put the content back in so the user can fix their mistake and not have to re-enter their post (or whatever)
  • the error for an OOC trying to upload an avatar is that the size is too big, yet the same image being uploaded IC works fine, suggests there's some problem for uploading an OOC avatar that isn't actually size related (settings were for 250x250; image was 100x100)
  • word count is frequently different between what TinyMCE reports and what the post display says later, sometimes by up to 5% out on the word count
  • might want to explicitly set HttpOnly cookies to prevent iframes being able to read them via document.cookie
  • forms should have a CSRF token in them to prevent, well, CSRF attacks; better if they are also unique to prevent replay attacks
  • pages should emit a meta charset tag or other header to indicate they are UTF-8; it's possible to construct an XSS attack in the installer today if this isn't done by forcing client-side encoding to UTF-7 (yes this is a thing) and making use of the alternate encoding for " that they have; this was interestingly a vulnerability in SMF prior to 2.0.6 for the same reason

I'd also note my error log has a variety of errors relating to $user not being defined before any code writing I did, so might want to look into that.

Again, sorry to have troubled you.


Arceus

codemancer
0
30Years Young
75 Posts

They don't think that I listen, oh but I know who they are.


And now you've taken what I said completely out of context, so I give up. I have a right to protect my IP and keep it from evolving into something I don't want it to become. If you don't like that, you're more than welcome to find another software to use. Good luck finding what you're looking for.

By the way, it doesn't make good impressions to lecture strangers on the internet. I lost all interest in working something out with you the moment you turned preachy.

Thanks for the last bit though, I'll keep it in mind while working on Salerno.