[SOLVED] Issue with some plugins in ACP v0.5.2

Bug Reports
  • Hi, I moved to master because of the crash restart issue on v0.5.1 but now I've got another problem with v0.5.2.

    In the ACP, when I go to some plugins like Blog Comments, Facebook SSO, Twitter SSO, Steam SSO or Google SSO, the fields are blank because nodebb doesn't seem to retreive data from the database (redis). Even if I try fill them again and save, the button doesn't do anything and nothing appears in the console or logs.

    I tried to reinstall nodebb several times, even if the Blog Comments is the only one enabled, I've got the issue. When I start on v0.5.1, the fields are automaticaly filled up from the db but they're blank in v0.5.2.

    A strange behavior is when I go to wordpress for example and hit "Publish to Nodebb", it redirect me to the error page where it says I need to be administrator or being part of the publisher group, but nodebb doesn't respond anymore and loop this error in the console.

    _maxListeners=10, members=[], domainThrown=true
    error:  domain=null, error=function (err) {
    return callback(err); 
    

    Once I restart nodebb, I see the article from wordpress which has been published to nodebb in the right category (without being set in the ACP) and the thread has got like 570 replies with the same article.

    Any idea about what's going on please?

  • Can you let us know the versions of your themes? (Vanilla/Lavender)

  • Lavender is version 0.1.11 and Vanilla is version 0.1.17.

  • I am wondering if it's a general issue or if it's only me. @julian is it working fine for you?

  • Hi @Alex, you'll have to wait for @psychobunny to respond, as it is his plugin 😄

    We use Ghost as our blogging platform, and it is working fine.

  • Hey @julian thanks for your quick reply. As it's happening with all the SSO plugins like the Facebook one you made, I thought you would maybe have got an idea 🙂

  • @julian I found the problem, it's not the ACP. The plugins I mentioned "Blog Comments, Facebook SSO, Twitter SSO, Steam SSO, Google SSO and Emailer Local" uses this in their admin template:

    require(['forum/admin/settings'], function(Settings) {
    

    I changed it to:

    require(['admin/settings'], function(Settings) {
    

    and now it's working fine, it retrieves the info from the db and the save buttons works.

  • @psychobunny was the base root for require.js changed to no longer point to the modules folder?

  • @Alex

    Glad I bumped into your post. Can you share where you are making this modification so that I can test it on my end? I'm hoping it will resolve the crashing issue with blog comments. I was reinstalling so many things thinking I misconfigured wordpress and nodebb somehow and kept trying to find where the admin error was coming from. It was really frustrating.

  • Hey @peter, unfortunately it didn't fix the crashing issue when publishing an article from wordpress to nodebb. Each time I press the button on wordpress it still crashes and get this in the console:

    Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (http.js:689:11)
    at ServerResponse.header (/home/www/nodebb/node_modules/express/lib/response.js:662:10)
    at ServerResponse.res.location (/home/www/nodebb/node_modules/express/lib/response.js:776:8)
    at ServerResponse.redirect (/home/www/nodebb/node_modules/express/lib/response.js:815:8)
    at /home/www/nodebb/node_modules/nodebb-plugin-blog-comments/library.js:166:10
    at /home/www/nodebb/src/topics/create.js:164:5
    at fn (/home/www/nodebb/node_modules/async/lib/async.js:641:34)
    at Object._onImmediate (/home/www/nodebb/node_modules/async/lib/async.js:557:34)
    at processImmediate [as _immediateCallback] (timers.js:345:15)
    info: [app] Shutdown (SIGTERM/SIGINT) Initialised.
    info: [app] Database connection closed.
    info: [app] Web server closed to connections.
    info: [app] Shutdown complete.
    [cluster] Child Process (14399) has exited (code: 1)
    [cluster] Spinning up another process...
    [cluster] Child Process (7088) listening for connections.
    [cluster] Child Process (7088) listening for connections.
    

    The post has been successfully published to nodebb though.

    For the modification I made in the plugin it's simply in "node_modules/nodebb-plugin-blog-comments/public/templates/comments/admin.tpl" line 29.

  • My youtube plugin no longer works in 0.5.2 either, seems something has been changed. No idea what mind. Pretty big gotcha. I'm almost being wedgied. 😆

  • Ah you too? I thought I was getting crazy, imgbed neither works for me. Well any plugin which parse content doesn't work for me excepted Markdown Parser 🙂

  • @Alex said:

    Ah you too? I thought I was getting crazy, imgbed neither works for me. Well any plugin which parse content doesn't work for me excepted Markdown Parser 🙂

    Yeah, imgbed broke too. 😢

  • @Alex said:

    Ah you too? I thought I was getting crazy, imgbed neither works for me. Well any plugin which parse content doesn't work for me excepted Markdown Parser 🙂

    That's really worrisome... let's see.

    Edit: @a_5mith @Alex How recent is this breakage?

    Edit 2: Damn, it's Markdown.

  • Upstream or regression?

  • @a_5mith Regression, fixing shortly 😄

  • @julian, fixed it yet? 😛

  • @Ted no, I had thanksgiving dinner and watched David Tennant's last episode of Doctor Who instead XD

  • @julian but that's the worst episode ever...
    Loved Matt Smith in the role, but he's not Tennant

  • Kind of difficult to fix, because of the change made to Markdown... if the new "noFollow" option is turned on (which it is, by default), a link as returned by markdown would look like this:

    <a rel="nofollow" href="//mysite.com">Site</a>

    instead of...

    <a href="//mysite.com">Site</a>

    ... which means all of the existing regex won't match any longer. Drat.


    Both the "workaround" and the "solution" involve one crappy step: All of the affected plugins need to rewrite their regex or refactor their entire plugin.

    The workaround:

    • All plugins need to rewrite their regex to accommodate the rel="nofollow" addition
    • If more changes get added to Markdown, all of the affected plugins will break again
    • = Bad solution

    The solution:

    See gh#2263

    ... and to round it out

    The cop-out

    • @julian just removes the rel="nofollow" from Markdown XD ... but that's a step back.

    Example 1:

    [ { type: 'blockquote_start' },
      { type: 'paragraph',
        text: 'i am using marked.' },
      { type: 'blockquote_end' },
      links: {} ]
    


Suggested Topics