JohnXLivingston / peertube-plugin-livechat

GNU Affero General Public License v3.0
86 stars 26 forks source link

adding more than 24 chat emojis at once results in PayloadTooLargeError #436

Closed animegrafmays closed 1 week ago

animegrafmays commented 1 week ago

Describe the bug add 24 emojis and click save, it works fine. add a 25th emoji and you will get "Error" toast popup with the helpful error message "Error"

Note: Before reporting a bug, please check the troubleshooting guide.

To Reproduce Steps to reproduce the behavior:

  1. go to chat configuration -> channel emojis
  2. add 25 emojis and click save
  3. observe "Error" toast popup with message "Error"
  4. see console error below

Expected behavior user should be able to add more than 25 emojis (the limit set in emojis.ts is currently 200 per channel)

Screenshots

image

Server (please complete the following information):

Plugin diagnostic: N/A

Additional context you can bypass this issue by backing out of the emoji configuration page (or reloading after saving 24) and you can add an additional 24 more. if the expected behavior is to not allow more than 24 at a time (looks like it's based on the size of POST) maybe include that in the documentation? not sure if this is a bug or not tbh

error[2024-06-19, 3:07:08 p.m.] Error in controller.

{
  "err": "PayloadTooLargeError: request entity too large\n    at readStream (/var/www/peertube/versions/peertube-v6.0.3/node_modules/raw-body/index.js:156:17)\n    at getRawBody (/var/www/peertube/versions/peertube-v6.0.3/node_modules/raw-body/index.js:109:12)\n    at read (/var/www/peertube/versions/peertube-v6.0.3/node_modules/body-parser/lib/read.js:79:3)\n    at jsonParser (/var/www/peertube/versions/peertube-v6.0.3/node_modules/body-parser/lib/types/json.js:135:5)\n    at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:280:10)\n    at urlencodedParser (/var/www/peertube/versions/peertube-v6.0.3/node_modules/body-parser/lib/types/urlencoded.js:100:7)\n    at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:280:10)\n    at apiFailMiddleware (file:///var/www/peertube/versions/peertube-v6.0.3/dist/core/middlewares/error.js:25:9)\n    at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:280:10)\n    at xFrameOptionsMiddleware (file:///var/www/peertube/versions/peertube-v6.0.3/node_modules/helmet/index.mjs:265:3)\n    at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:280:10)\n    at file:///var/www/peertube/versions/peertube-v6.0.3/dist/server.js:60:12\n    at Layer.handle [as handle_request] (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/router/index.js:280:10)\n    at expressInit (/var/www/peertube/versions/peertube-v6.0.3/node_modules/express/lib/middleware/init.js:40:5)"
}
JohnXLivingston commented 1 week ago

Fix by https://github.com/JohnXLivingston/peertube-plugin-livechat/pull/439 Will be released today.