NellielProject / Nelliel

A lightweight and expandable imageboard.
BSD 3-Clause "New" or "Revised" License
11 stars 1 forks source link

Bugs/comments #7

Closed ghost closed 2 years ago

ghost commented 3 years ago

-/nellielcore/configuration needs to be writeable, but this is not mentioned in INSTALL.md -It is possible to create a board with an empty board ID/board URI (by simply clicking the 'Create Board' button without filling in an ID), this shouldn't be possible -When you make a post you just see an empty, white page without anything on it. It should say something like 'Post successful!' to let users know it worked. -When on the index page of a board and you try to open a thread by clicking the thread number, it redirects to: http:////b/threads/1/thread-1.html#t1p1 <- This is because you are depending on the web server's config to have a correct servername (which is '') by default, but most users don't know that and leave it at the default. You shouldn't let this depend on the web server config. -Because of the mistake mentioned above, images and their thumbnails don't display at all because '_' is not a valid website. -There is no option to completely disable the duplicate check. You should give the option to allow posting duplicates in any new or existing thread -When you enable CAPTCHA on a board, the CAPTCHA doesn't 'activate' or display instantly, so you can't make any post at all anymore because it keeps saying CAPTCHA failed because there is no CAPTCHA to fill in. Regenerating Overboard or Site Caches didn't help here, those options seem to do nothing at all. -Each thread OP has at least two checkboxes (one next to Hide Thread and one next to Hide Post), why that is I don't know. One checkbox should be enough for post deletion. -The space under Filetype Enabling in board settings is completely empty so it's impossible to allow, for example, .webm or .mp4 posting.

I think that's enough for now. When you've fixed all of that I'll try it again.

OtakuMegane commented 3 years ago

Appreciate the feedback, those are all good points I'll work on.

To answer about the extra checkbox for thread deletion, that was an early choice when internal structure was first being set up (threads are technically separate from posts). It has no purpose now so it'll be going away.

ghost commented 3 years ago

Login is broken at this moment. When entering the info, it tries to go to http://imgboard.php/?module=account&section=login&actions=submit Which obviously doesn't exist. Even when I fill in my sitename in the nginx config's 'server_name' directive it doesn't work. Seems you still have problems with the web root/dir thingy.

OtakuMegane commented 3 years ago

Yep one more bug that needed to be fixed on that. Should be good now.

To the original bug fix, all the URLs are relative to the domain the page is loaded from so 'server_name' should now be irrelevant. Which is how most imageboard software handles it anyway.

ghost commented 3 years ago

By the way, Imagick (PECL extension) and Gmagick (PECL extension) are conflicting dependencies and can't be installed at the same time. You should only need 1 of them.

ghost commented 3 years ago

Posting threads is broken. When you click New thread you get this screen and nothing gets posted. Uncaught PDOException: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1 in /var/www/html/nelliel_core/include/Content/ContentThread.php:83 br0ken

OtakuMegane commented 3 years ago

Changed the README to reflect only needing Imagick or Gmagick, not both.

The error on New thread is due to the recent changes for cyclic threads Recreating the board will take care of it. Or adding a smallint column with the name 'cyclic' to the threads table in the database An upgrade/migration set up is in the works now that things are stabilizing.

ghost commented 3 years ago

The error on New thread is due to the recent changes for cyclic threads Recreating the board will take care of it. Or adding a smallint column with the name 'cyclic' to the threads table in the database An upgrade/migration set up is in the works now that things are stabilizing.

I used commit 167c81db88a1cdc4f0e9a2e02dd9796a5f6475bf, so it's already a clean new database with the latest changes.

OtakuMegane commented 3 years ago

I used commit 167c81d, so it's already a clean new database with the latest changes.

I was misreading the error last night. It's fixed now.

ghost commented 3 years ago

Well, the basic stuff seems to be working now. Good job on that. Couple of extra (minor) notes:

-After you've installed the site and go back to the root domain again, you see the "OH HAI This is a default home page for a Nelliel Imageboard install." message. However the "you may be looking for the login page." links to the wrong page (imgboard.php?module=login), it should link to imgboard.php?module=account&section=login instead. -Display ID for posters in a thread is enabled by default, I'd disable that. -Automatically disable flood control when in Mod mode, if you can code that. -The captcha problem mentioned in OP still exists; basically any change you make to the board settings doesn't actually happen/appear until AFTER you make a new post. So if you activate captcha in the settings, you can't post anymore because the captcha doesn't display instantly. It would be handy if the board/site automatically gets rebuilt/refreshed after you make a board setting change.

ghost commented 3 years ago

Oh and: -Image thumbnails retaining their transparency would also be cool. Right now transparent images have black backgrounds in their thumbnails, no matter which image processor you use. -Changing the Site name in the Site Settings doesn't actually change the name in the browser tab title. It still says 'Nelliel Imageboard'.

OtakuMegane commented 3 years ago

Thanks for continuing to test things out. Most of those should be simple fixes.

The transparency issue is due to the JPEG format not supporting it. There's a setting to use PNG for previews which does support transparency.

It would be handy if the board/site automatically gets rebuilt/refreshed after you make a board setting change.

I'm going to set it back to auto-rebuild with an option to disable it, should that be necessary. Originally I separated the steps back when the rendering was a lot slower and a (theoretical) board with thousands of posts could take several minutes to rebuild. Realistically it's unlikely that will ever be a major problem, I just overthink things sometimes. Edit: Apparently I already re-enabled auto-rebuild at some point. It was actually a problem of the old cache being used.

ghost commented 3 years ago

Deleting a thread (OP) is broken when using Moderator Mode on a board. If you click 'Delete' it goes to: http://xxxx/imgboard.php?module=admin&section=threads&board-id=b&actions=delete&content-id=cid_1_0_0&modmode=true&goback=true which is just a blank page. Nothing happens, the thread/OP doesn't get deleted.

Deleting individual posts does work. Using MariaDB DB mode and PHP 7.3.

2021/03/15 08:28:40 [error] 15583#15583: *67 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined method Nelliel\Content\ContentThread::firstPost() in /var/www/html/nelliel_core/include/Content/ContentThread.php:190
Stack trace:
#0 /var/www/html/nelliel_core/include/Content/ContentThread.php(120): Nelliel\Content\ContentThread->verifyModifyPerms()
#1 /var/www/html/nelliel_core/include/Admin/AdminThreads.php(67): Nelliel\Content\ContentThread->remove()
#2 /var/www/html/nelliel_core/include/Admin/Dispatch.php(194): Nelliel\Admin\AdminThreads->remove()
#3 /var/www/html/nelliel_core/include/Admin/Dispatch.php(42): Nelliel\Admin\Dispatch->sections(Array, 'delete')
#4 /var/www/html/nelliel_core/include/central_dispatch.php(109): Nelliel\Admin\Dispatch->dispatch(Array)
#5 /var/www/html/nelliel_core/include/central_dispatch.php(86): nel_module_dispatch(Array, Object(Nelliel\Domains\DomainBoard))
#6 /var/www/html/imgboard.php(43): nel_dispatch_preparation()
#7 {main}
  thrown in /var/www/html/nelliel_core/include/Content/ContentThread.php" while reading response header from upstream, client: XXX, server: _, request: "GET /imgboard.php?module=admin&section=threads&board-id=b&actions=delete&content-id=cid_1_0_0&modmode=true&goback=true HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "xxx", referrer: "http://xxx/imgboard.php?module=render&actions=view-index&index=0&board-id=b&modmode=true"
ghost commented 3 years ago

Also: is there an option to force noko on a board? So users automatically stay in the thread after posting.

OtakuMegane commented 3 years ago

Deleting a thread (OP) is broken when using Moderator Mode on a board. If you click 'Delete' it goes to: http://xxxx/imgboard.php?module=admin&section=threads&board-id=b&actions=delete&content-id=cid_1_0_0&modmode=true&goback=true which is just a blank page. Nothing happens, the thread/OP doesn't get deleted.

Deleting individual posts does work. Using MariaDB DB mode and PHP 7.3.

Fixed that now.

Also: is there an option to force noko on a board? So users automatically stay in the thread after posting.

Not at present but it's a good idea. I'll add it to the feature checklist.

ghost commented 3 years ago

The catalog is broken. For example it links to http://x/b/threads/4/thread-4.html when it should be linking to http://x/b/threads/4/4.html

ghost commented 3 years ago

Also there is no way to persistently unhide a post. If you click [Hide Post] again on an already-hidden post and then refresh the page the post is still hidden.

EDIT: Oh wait, you have to click Hide Post first, then Show Post (which makes it hidden again at first but not after refreshing the page), then it works.

ghost commented 3 years ago

PS: Instead of adding a [Cite] link I would just make it so that if you click the post number it automatically cites that post number in the post form. Like all imageboard software do.

ghost commented 3 years ago

The catalog issue still exists: https://github.com/NellielProject/Nelliel/issues/7#issuecomment-799781655

ghost commented 3 years ago

And clicking the post number (to cite it) doesn't add it to the post form.

OtakuMegane commented 3 years ago

It wasn't entirely done yet. Anyway, went ahead and did an early merge of dev-general since the stuff is fixed there. It'll need a clean install.

ghost commented 3 years ago

Catalog works now, thanks. Would still be cool if cites will work like https://github.com/NellielProject/Nelliel/issues/7#issuecomment-799784077 but I'm sure you will add that at some point. Keep up the good work.

OtakuMegane commented 3 years ago

Would still be cool if cites will work like #7 (comment) but I'm sure you will add that at some point. Keep up the good work.

Thanks. Had to do a bit more debugging but all that should be in and working now. After some thought I made the No. and post number links function like they do with other imageboards. The one problem with the existing method is it only cites for a reply to that thread, it can't be used for a new thread or cite something in a different thread. But the Cite link actually covers that case already so for now I'm also leaving it as a third option.

ghost commented 3 years ago

Posting an embed is broken;

2021/07/05 12:49:56 [error] 18332#18332: *6 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: prepared in /var/www/html/nelliel_core/include/Post/Uploads.php on line 354PHP message: PHP Fatal error:  Uncaught Error: Call to a member function execute() on null in /var/www/html/nelliel_core/include/classes/NellielPDO.php:222
Stack trace:
#0 /var/www/html/nelliel_core/include/classes/NellielPDO.php(235): Nelliel\NellielPDO->executePrepared(NULL, NULL, false)
#1 /var/www/html/nelliel_core/include/Post/Uploads.php(354): Nelliel\NellielPDO->executePreparedFetch(NULL, NULL, 7, true)
#2 /var/www/html/nelliel_core/include/Post/Uploads.php(43): Nelliel\Post\Uploads->embeds(Object(Nelliel\Content\ContentPost))
#3 /var/www/html/nelliel_core/include/Post/NewPost.php(99): Nelliel\Post\Uploads->process(Object(Nelliel\Content\ContentPost))
#4 /var/www/html/nelliel_core/include/central_dispatch.php(172): Nelliel\Post\NewPost->processPost()
#5 /var/www/html/nelliel_core/include/central_dispatch.php(88): nel_module_dispatch(Array, Object(Nelliel\Domains\DomainBoard))
#6 /var/www/html/imgboard.php(44): nel_dispatch_preparation()
#7 {main}
  thrown in /var/www/html/nelliel_core/inclu" while reading response header from upstream, client: ***, server: _, request: "POST /imgboard.php?module=threads&actions=new-post&board-id=b HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "***", referrer: "***"
ghost commented 3 years ago

Redirecting after a new thread or reply is broken again too, it always redirects to b/threads//0.html which doesn't exist.

ghost commented 3 years ago

PHP message: PHP Warning: htmlspecialchars() expects parameter 1 to be string, array given in /var/www/html/nelliel_core/cache/mustache/__Mustache_37242f99aa07c8b540c5aa73842d9b4b.php on line 22"

ghost commented 3 years ago

Deleting posts is broken too: PHP message: PHP Recoverable fatal error: Object of class Nelliel\Content\ContentPost could not be converted to string in /var/www/html/nelliel_core/include/Content/ContentPost.php on line 195" while reading response header from upstream, client: ***, server: _, request: "GET /imgboard.php?module=admin&section=threads&board-id=b&actions=delete&content-id=cid_1_3_0&modmode=true&goback=true HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "***", referrer: "http://***/imgboard.php?module=render&actions=view-index&index=0&board-id=b&modmode=true"

ghost commented 3 years ago

Ban output page for a banned user is broken:

2021/07/05 13:09:33 [error] 18332#18332: *295 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught TypeError: date() expects parameter 2 to be int, string given in /var/www/html/nelliel_core/include/Render/OutputBanPage.php:34
Stack trace:
#0 /var/www/html/nelliel_core/include/Render/OutputBanPage.php(34): date('F jS, Y H:i e', '1625490543')
#1 /var/www/html/nelliel_core/include/classes/Snacks.php(159): Nelliel\Render\OutputBanPage->render(Array, false)
#2 /var/www/html/nelliel_core/include/classes/Snacks.php(225): Nelliel\Snacks->banPage(Object(Nelliel\BanHammer))
#3 /var/www/html/nelliel_core/include/classes/Snacks.php(131): Nelliel\Snacks->checkIPBans()
#4 /var/www/html/nelliel_core/include/central_dispatch.php(82): Nelliel\Snacks->applyBan()
#5 /var/www/html/imgboard.php(44): nel_dispatch_preparation()
#6 {main}
  thrown in /var/www/html/nelliel_core/include/Render/OutputBanPage.php on line 34" while reading response header from upstream, client: ***, server: _, request: "POST /imgboard.php?module=threads&actions=new-post&board-id=b HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "***", referrer: "***"
OtakuMegane commented 3 years ago

Thanks for the continued testing, it helps a lot. All those should be addressed now.

ghost commented 2 years ago

How do I make animated .gif thumbnails work? I have installed and set GraphicsMagick as the image handler. These are my settings currently but it's not working:

image


Also: whenever I add a file (mostly .gif files) to my post the site freezes for like 5 seconds before I can continue, any chance you can improve that performance?


PS: When using Moderator mode and posting a thread, the thread posts successfully but the redirect is broken

http://sitename/imgboard.php?module=output&section=thread&actions=view&thread=14&board-id=b&modmode=true

2021/10/15 13:36:49 [error] 14062#14062: *74 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined index: content_id in /var/www/html/core/include/Dispatch/DispatchOutput.php on line 63PHP message: PHP Fatal error:  Uncaught Error: Call to a member function threadID() on null in /var/www/html/core/include/Dispatch/DispatchOutput.php:63
Stack trace:
#0 /var/www/html/core/include/Dispatch/DispatchModules.php(64): Nelliel\Dispatch\DispatchOutput->dispatch(Array)
#1 /var/www/html/core/include/Dispatch/Preparation.php(91): Nelliel\Dispatch\DispatchModules->dispatch(Array)
#2 /var/www/html/public/imgboard.php(40): Nelliel\Dispatch\Preparation->prepare()
#3 {main}
  thrown in /var/www/html/core/include/Dispatch/DispatchOutput.php on line 63" while reading response header from upstream, client: XXX, server: sitename, request: "GET /imgboard.php?module=output&section=thread&actions=view&thread=14&board-id=b&modmode=true HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "site", referrer: "http://sitename/imgboard.php?module=new-post&board-id=b&modmode=true"
OtakuMegane commented 2 years ago

How do I make animated .gif thumbnails work? I have installed and set GraphicsMagick as the image handler. These are my settings currently but it's not working:

There was an extra dash in the command line arguments for creating previews. Previews should be generating now. Also make sure to select display_animated_preview in Uploads Rendering (preview generation and display are separate options now).

Also: whenever I add a file (mostly .gif files) to my post the site freezes for like 5 seconds before I can continue, any chance you can improve that performance?

Is this a delay after submitting a post or on the post form?

PS: When using Moderator mode and posting a thread, the thread posts successfully but the redirect is broken

Got that one fixed.

ghost commented 2 years ago
2021/10/16 00:09:53 [error] 18393#18393: *75 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined property: Nelliel\NewPost\NewPost::$content_id in /var/www/html/core/include/NewPost/NewPost.php on line 300PHP message: PHP Fatal error:  Uncaught TypeError: Argument 3 passed to Nelliel\Cites::getCiteData() must be an instance of Nelliel\Content\ContentID, null given, called in /var/www/html/core/include/NewPost/NewPost.php on line 300 and defined in /var/www/html/core/include/Cites.php:24
Stack trace:
#0 /var/www/html/core/include/NewPost/NewPost.php(300): Nelliel\Cites->getCiteData('>>16', Object(Nelliel\Domains\DomainBoard), NULL)
#1 /var/www/html/core/include/NewPost/NewPost.php(138): Nelliel\NewPost\NewPost->addCites(Object(Nelliel\Content\Post))
#2 /var/www/html/core/include/Dispatch/DispatchNewPost.php(32): Nelliel\NewPost\NewPost->processPost()
#3 /var/www/html/core/include/Dispatch/DispatchModules.php(59): Nelliel\Dispatch\DispatchNewPost->dispatch(Array)
#4 /var/www/html/core/include/Dispatch/Preparation.php(91): Nelliel\Dispatch\DispatchModules->dispatch(Array)
#5 /var/www/html/public/imgboard.php(40): Nelliel\Dispatch\Preparation->prepare()
#6 {main}
  thrown in /var/www/html/core/include/" while reading response header from upstream, client: x, server: x, request: "POST /imgboard.php?module=new-post&board-id=b HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "x", referrer: "x"
OtakuMegane commented 2 years ago

content_id error also fixed now