BBCode update for mod pages and comments

  • Comment
We've got an important bug fix that we're going to be squeezing in before Christmas that may cause some minor problems with how mod pages, comments (and other content that uses BBCode) are displayed. The update was initially released yesterday but we have since rolled it back as it introduced a breaking change to content containing certain use cases of spoiler tags. 

Our biggest concern is that this problem occurs in the description of many popular mods so we've delayed the release until 20 December 2023. This will allow time for mod authors to make the changes required to ensure their content still displays correctly.


Why are we making this change?

So you might be thinking "Why is Nexus Mods pushing out a fix that might break my mod page?" and we understand where you'd be coming from with that.

To give a bit of background, mod pages and comments were implemented many years ago using the BBCode markup language which matches what the original forums used. The parser (the clever bit that converts the raw BBCode into HTML) used on the website has gone through several changes over the years in response to new best practices and security advisories. 

We recently had our entire website professionally reviewed by a security company to see if there were any exploits we'd missed. While I'm pleased to report that nothing major came up, there were a few problems with the way that BBCode is translated on the site that could - in very specific circumstances - cause problems for users of the site. I'm sure you can understand that no matter how obscure, we can't allow that to happen. 

As a result of this review, we've removed our custom BBCode parser and migrated to using a more modern version. This change fixes any possible loopholes by applying stricter rules on what is considered valid BBCode. This has very little impact on 99%+ of the posts/mod pages on the website but for a few pages where the mod author has gone the extra mile to add a lot of formatting, we found that there were problems with how spoilers had been added to the page which tripped up the parser. 

We had a lengthy discussion about this issue internally and there was no question that we needed to apply this security patch but at the same time, we understand the ire that coming back to your mod page and finding the formatting messed up would cause. As a result, we are giving a week of notice before we deploy this change and will be doing our best to help fix any formatting problems before they start to impact the resulting pages. 


What is the problem?

The problem mainly involves the spoiler BBCode tags which can be used to create a collapsible section of your content. While this feature works and is well-used, it is not something that is technically supported in the WYSIBB editor we use. This means that users who want to add spoilers would manually add the open and close tags around the content they want to collapse. What is happening now is that spoiler tags are no longer considered valid if they are incorrectly nested with other formatting tags. 

Being able to add the tags manually to any part of the text without validation is an oversight on our part. We understand it's not a great experience when posting content and appreciate that changing the requirements for spoiler tags to work will be frustrating for some of you. That's really on us for not being stricter with the original implementation of the feature. Unfortunately, we're still hamstrung by the editor which hasn't been updated in quite some time. Newer parts of the website (Collections, Collection Comments, etc) no longer use this editor and the long-term plan is to migrate everything away from BBCode, if possible.


How can I tell if this affects me?

We estimate around 10,000 mods use the spoiler tag, but only a small percentage of that number will be affected by the change. The quickest way to check if this issue will apply to you is to open your mod page/post in edit view and see if the tag has any formatting applied to it. This can include:

  • Bold
  • Italics
  • Underline
  • Strikeout
  • Font Colour
  • Font Size
  • Font Family
  • Code Block
  • Quote Block
  • Order/Unordered List
  • Center/Right Alignment

A few examples of this issue are available in this forum thread. 

Once the fix goes live, the issue will be characterised by empty spoilers with all the content previously contained in the spoiler, now posted below it. 



The way the new parser works is that it expects a valid hierarchy of tags. This means that the content inside a spoiler can not have any tags closed inside it that started outside it or vice-versa.


How can I fix it? 

The BBCode that makes up your page will need to be updated to re-establish a valid flow of content. If you need some help with updating your content, you can read our latest advice here. You can also post a link to your content in that thread and our team will offer you suggestions on how to improve it.



What happens if I see this issue after 20 December 2023? 

We're quite aware that not all users who've posted these spoilers are currently active. If you spot a post, mod page or other content that has this bug after 20 December 2023, please use the "Report" button on the content to flag it for moderator review. We'll do our best to fix these up within a few days of getting a report. 

86 comments

Comments locked

A moderator has closed this comment topic for the time being
  1. jmharris
    jmharris
    • Web Developer
    • 2 kudos
    Locked
    Sticky
    This change is now live.
  2. GiraPomba
    GiraPomba
    • premium
    • 798 kudos
    So I guess it's not possible to do this anymore:


    • List item 1
    • List Item 2
      • Sublist item 1
      • Sublist item 2
    • List Item 3

    Text
    1. haplessAccreditation
      haplessAccreditation
      • premium
      • 209 kudos
      Couldn't have said this better myself

      To be explicit, properly written nested lists are broken.
    2. jmharris
      jmharris
      • Web Developer
      • 2 kudos
      Thank you for letting us know.
    3. GiraPomba
      GiraPomba
      • premium
      • 798 kudos
      Thanks for fixing it.
    4. Macka89
      Macka89
      • member
      • 0 kudos
      it seems to render correctly in the WYSIBB Editor, but not on the page itself.
      This list is properly coded, but doesn't display correctly, it should be a numbered item for 'item c', but displays as a bullet point on mod pages and a section[?] on the forums.


      • item a
      • item b

        • sub item
        • sub item
      • item c
    5. jmharris
      jmharris
      • Web Developer
      • 2 kudos
      Thanks for letting us know, that problem with mixing ordered and unordered lists has been addressed.
  3. Redshiftja
    Redshiftja
    • premium
    • 366 kudos
    My mod descriptions are completely fucked now. lol. 

    I'm probably just going to cut 99% of the content from my mod pages because I do not have the time to edit them all.
    1. Pickysaurus
      Pickysaurus
      • Community Manager
      • 728 kudos
      If you post links to the pages in the forum thread mentioned above we might be able to help fix them.
  4. RadioactivatedRed
    RadioactivatedRed
    • premium
    • 40 kudos
    Are you all, and I say this with all due respect, high as a kite?
    You need people to edit every mod page they have if it includes spoiler tags
    You need this done in the next week or two
    You've only mentioned this in a throw-away line on a post about page comments.

    You should currently be assuming all those tags will break and coming up with a way to address it, because there is about a zero percent chance of every single modder on the site seeing this post and acting on it in a week.  

    Folks, you need a marketing department.  (I'm job hunting, call me).
    Here's the thing: 
    Major platform transitions require a communications plan.
    The communications plan cannot be just we'll make a post when you require action on the part of the users.

    You know how you communicate this kind of thing?
    Banners.  Modal popups. Emails.
    For s#*! that will break pages?  Hell, I'd do a popup on login that warns people and won't go away until they click accept to acknowledge they've read it.   Add an extra mandatory checkbox or popup warning that hits when someone goes to save a mod page.  "The spoiler tag will no longer be supported after Dec Whatever, please ensure you are using New Tag on all mod pages." and an OK button.   If there is no new tag, you need to provide a workaround. Period.  Like, you see who your target market is?  There isn't a neurotypical brain for miles.  There are mod pages with hundreds of images nested behind spoiler tags. People document.  And they are going to ask what to do now.  Have an answer at the ready.  If there isn't a straight out replacement tag, make a page showing other options using HTML for people get similar results and link it right on the popup.  

    I mean, we know most won't read it, but that isn't your job.  Your job is to at least try.  Communities are twitchy things, they rely on goodwill, and goodwill is a finite resource.  At the end of the day, the most important thing is being able to tell everyone that you tried and mean it.  

    You have a website to share this info.  You have a database and the ability to see where this code is used.  Run some queries.  Figure out who will be impacted and reach out to them directly.  Like, you have their email addresses, even.   You're a business operating in the US and EU, so you've got to have mailchimp or marketo or constant contact or something for the spam compliance.  Use it!   Make a subgroup for the owners of the impacted pages, toss them into your email platform, and let the authors know directly that they need to fix their pages. Use a mail merge and include a list of the impacted links and you'll make it much more likely they will do the thing. 
    I don't know your tech stack, but seriously, you can get a mail merge plugin for google sheets that will literally do this out of gmail for you, based on a single template written in docs.  There are better fucking ways.  Why are you relying on offhanded references and posts with vague titles as your primary communications plan?

    Also, people will likely ask about if they use that tag on their about me page they currently can't edit yet.  You might want to plan an answer for that in advance and just proactively send it along.  
     
    (Everyone thinks they hate marketing until you see what happens when it isn't there.)
    1. Exoclyps
      Exoclyps
      • premium
      • 635 kudos
      You do realize not all spoiler tags will break, right? Only those who are written badly.

      Now [ bold ] [ spoiler ] text [/ bold] [/ spoiler] won't work anymore and you have to write it as [ spoiler ] [ bold ] text [/ bold] [/ spoiler].

      So only those who have it wrong will it break. For most users nothing will change.
    2. cmdrdumpstat
      cmdrdumpstat
      • premium
      • 5 kudos
      lmao it's also just formatting. on what's essentially an instruction page. for video game mods

      its fake pixels. take a breath, holy shit. were you not around for the week-long warning parade we got about site maintenance that was only going to last about a day? over-warning people about s#*! is just about the only thing nexus staff has done consistently. i never thought i'd see a day again where i feel the urge to defend a choice they've made, but my god, you've managed to get me to do it.

      for someone in marketing, you sure do a really terrible job of marketing yourself as an asset. "hello! i think everyone in your company is high or incompetent! i will belittle your team at every turn and make them feel like lazy skeeves, all because i like to go on egotistical tirades about subjects i dont actually comprehend! you're idiotic if you don't hire me, xoxo"

      (everyone thinks they're so superior on the internet until they have to prove it.)
    3. FeliceHasAHat
      FeliceHasAHat
      • supporter
      • 8 kudos
      (everyone thinks they're so superior on the internet until they have to prove it.)

      I hope you are able to recognize that you, yourself, are acting very superior in this comment. I kinda cringed for you when I got to this last line of it. Look at the advice you're giving him and apply it to your own comment. You're being super aggressive and abrasive towards someone who wasn't even addressing you personally. You even insulted and ridiculed him.

      I really think you're the one who should be taking a breath here, and using it to count to ten, or maybe a hundred, before you commit to writing something like that.
    4. deleted34304850
      deleted34304850
      • account closed
      • 57 kudos
      for someone in marketing, you sure do a really terrible job of marketing yourself as an asset. "hello! i think everyone in your company is high
      or incompetent! i will belittle your team at every turn and make them
      feel like lazy skeeves, all because i like to go on egotistical tirades
      about subjects i dont actually comprehend! you're idiotic if you don't
      hire me, xoxo"

      (everyone thinks they're so superior on the internet until they have to prove it.)
      That's a huge YIKES from me.
    5. ch0opera
      ch0opera
      • member
      • 33 kudos
      Best of luck on the job hunt  (• ϵ •)
  5. silencer711
    silencer711
    • premium
    • 96 kudos
    Thanks for the update. I am thankful for any and all reports for my own content (mod pages & comments). Anything that will help me locate and fix the content I have submitted across the site. A few of my mod pages are heavily elaborate in their formatting (for ease of directions and reading to the end user).
  6. megapatato
    megapatato
    • premium
    • 118 kudos
    Are there plans to add a Preview button for comments?

    The old editor had a (IMO nasty) habit of adding Size tags in surprising places (e.g. before a section header, around a bullet list's bullets) after switching from raw BBCode view, so although I believe my content has properly scoped tags, I do not trust it does 😣
    1. Iluviel
      Iluviel
      • Product Manager
      • 14 kudos
      I don't think it's been suggested recently, or anywhere that I've seen.

      You could add a suggestion to your feedback board: https://feedback.nexusmods.com/
    2. Pickysaurus
      Pickysaurus
      • Community Manager
      • 728 kudos
      Both editors show a preview by default (they are WYSIWYG editors). The editor might add "rogue" BBCode if you apply the style tag on a new line but don't use it. 
  7. streetyson
    streetyson
    • member
    • 145 kudos
    Ah, I see, so essentially if you simply apply a spolier tag all is good, and if you simply apply a spoiler tag wholly within another set of bb codes (for example italics, fonts) all is still good. But don't open any such bb code outside of a spoiler tag then close it inside a spoiler tag, and don't open one within a spoiler tag then close it outside the spoiler. Personally I would never do this nor recommend it anyway (and frankly surprised it would've ever worked in the first place).

    Quick question, will spoiler tags within spoiler tags, as per my recent advice/help page still work? I set it up because Nexus' own original bb code page at the time was not quite complete on the matter, didn't fully include examples, and was rather heavy reading for newbies.
    1. Iluviel
      Iluviel
      • Product Manager
      • 14 kudos
      Yes, spoiler tags within a spoiler tag will still work.
  8. Augoeides
    Augoeides
    • premium
    • 32 kudos
    So, I'm a brand new mod creator, and chose last night to finally release my mod after working on it for 4 months. I was told to try using Spoiler tags to make my page more friendly, but the [/spoiler] code doesn't work at all for me, and I guessing this is why? If the website was reverted until the 20th, shouldn't it be working now? I can't seem to get it to function.
    1. Pickysaurus
      Pickysaurus
      • Community Manager
      • 728 kudos
      It doesn't show in the preview if that's what you're confused about 
    2. Augoeides
      Augoeides
      • premium
      • 32 kudos
      Not the preview; my published page refuses to finish off a section with the [/spoiler]. The starting code for [spoiler] will disappear just fine, but I can't actually close off the spoiler, and make the toggled box appear.
    3. FeliceHasAHat
      FeliceHasAHat
      • supporter
      • 8 kudos
      Is it possible that you have a tag inside your spoiler block whose matching tag is outside of it? That's the sort of ill-formatted BBCode this notice talks about, e.g. this doubly-broken example where I'm substituting parentheses for square brackets:

      (i)
      (spoiler)
      (b)
      this is my spoiler text that I intend to be italicized and bold
      (/i)
      (/spoiler)
      (/b)
    4. Augoeides
      Augoeides
      • premium
      • 32 kudos
      As far as I know, I'm doing everything correctly.


      It's like this, all across my mod page.
    5. Pickysaurus
      Pickysaurus
      • Community Manager
      • 728 kudos
      I've found the issue. In one pair you spelt "spoiler" as "spolier". An easy mistake to make. 

      I've corrected it for you and the page looks as expected. So it's worth noting getting one pair of tags wrong breaks all of them. 
    6. Augoeides
      Augoeides
      • premium
      • 32 kudos
      Thanks a lot! I had no idea I spelled something wrong.
  9. GT500
    GT500
    • premium
    • 9 kudos
    I have no clue if I've ever used the spoiler tag or not. If I have, I guess it's going to have to stay broken until someone points it out to me.
  10. Kreiste
    Kreiste
    • premium
    • 1,457 kudos
    I don't think it was mentioned but I'm worried so I want to clarify. Does images inside spoiler tag counts too? I've been using it as to not eat people's bandwidth away with my pics-laden description page. 
    1. Pickysaurus
      Pickysaurus
      • Community Manager
      • 728 kudos
      Images shouldn't be affected. They create their own little "blocks" in the hierarchy. 

      Just so you know, images in spoilers are downloaded when the page loads, it just doesn't show them :) 
    2. Zanderat
      Zanderat
      • premium
      • 234 kudos
      I do this, too.  Rather frequently, actually.

      edit: posted while Picky was answering.  Glad that usage won't affected.
    3. JonathanOstrus
      JonathanOstrus
      • premium
      • 184 kudos
      The way I read this is that when the page author wrote the spoiler in the wysiwig editor that the tag itself is formatted like
      [ color=#ffff00][ size=3] [ spoiler] [ /size][ /color]Some spoiler text[ /spoiler]
      don't mind the spaces I had to do that so it doesn't actually apply incorrectly because apparently you can apply formatting inside a code block
    4. MeridianoRus
      MeridianoRus
      • premium
      • 303 kudos
      BigAndFlabby
      I hope formatting inside a code block will also be addressed with the new parser.
    5. catherynn
      catherynn
      • member
      • 0 kudos
      Exactly!  If people would read the entire post, it says "The way the new parser works is that it expects a valid hierarchy of tags. This means that the content inside a spoiler can not have any tags closed inside it that started outside it or vice-versa."

      For example, you can't have "[bold] some text
      Spoiler:  
      Show
      more text [/bold]
      " where [bold] is started OUTSIDE the spoiler section and finished INSIDE the spoiler section.

      The properly formated code would be "[bold] some text [/bold] 
      Spoiler:  
      Show
      [bold] more text [/bold]
      "   The stuff inside the spoiler is a separate section and should have it's own formating codes.
  11. TechAngel85
    TechAngel85
    • premium
    • 515 kudos
    It would be nice if this would fix the very long standing issue of INI edits on the site being parsed out. This has been an issue for at least a year, likely longer. Note the last line in the image below:
    1. Qrsr
      Qrsr
      • premium
      • 242 kudos
      use bold around the "=":
      123=321
    2. Pickysaurus
      Pickysaurus
      • Community Manager
      • 728 kudos
      I forgot to include it, but this will fix that.
    3. TechAngel85
      TechAngel85
      • premium
      • 515 kudos
      This is great news! ^_^