25

I was looking at the Blaze page of Charcoal's web site for Stack Overflow.

I saw this:

enter image description here

It looks like a typical "not-an-answer" answer. But actually it is a reply to one of these new opinion based questions, currently being tested:

enter image description here

I assume this happened because the reply has the same URL structure as an answer. See that /a/ segment in the following example URL from the above screenshot (specifically, from the "share" link):

https://stackoverflow.com/a/79802194

(I guess these new replies are basically handled as answers, behind the scenes.)

I don't think this should be showing up in Blaze. Blaze might become harder to use effectively if it shows more of these types of posts.

I don't know if there is a way to distinguish these replies from the main Q&A answers, so they don't appear in unexpected places.

(I think Blaze is not owned or maintained by the SE organization, but by a separate Charcoal team. That team may not be able to filter out these things if they look just like answers. I don't know.)


I know you can opt out of the new opinion-based questions alpha test, so some people may not see what I have shown above.


EDIT: I wrote the word "prevent" in the title of this question - but that is incorrect, in hindsight. A better title (without changing the spirit of the discussion) might be:

How to reduce obvious false positives in Blaze, for opinion-based questions and replies?

From the comments and this answer, I can also see that the scope of this discussion should be wider than Blaze: Anyone using the official API ought to be able to distinguish this new content from the main Q&A content. I also wonder what the official data dumps contain, in this regard.

7
  • 17
    Yeah, they probably should not be linked as/considered "answers", TBH, but rather "responses". The URL slug should probably change from /a/ to /r/ or something similar, IMHO. That being said, you're right, Charcoal is not part of Stack Exchange, so the onus is on Charcoal to figure out how to fix this. Or, they can post a feature request somewhere for staff on the SE side to change it like I said so that no changes are needed in Charcoal's code. Commented Oct 27, 2025 at 20:45
  • 18
    @TylerH I would stay away from /r/ to be honest. Commented Oct 27, 2025 at 21:51
  • 4
    @AaronBertrand Good point, it's already too Reddit-esque. Commented Oct 28, 2025 at 14:19
  • For discussion questions charcoal would have to reduce the "answer" checks to a bare minimum I guess, basic foul language checks and the likes and not much more. Commented Oct 28, 2025 at 16:04
  • Is it possible to differentiate them by tags (advice)? Also this question could make more clear what action is expected from the company. It seems to be only indirectly about the software that powers this network. What can be done from here? Commented Oct 30, 2025 at 7:14
  • 5
    @NoDataDumpNoContribution "Is it possible to differentiate them by tags (advice)?" no, not possible. "Also this question could make more clear what action is expected from the company." it's a discussion - it's to hash out what could or should be done. Commented Oct 30, 2025 at 7:40
  • @NoDataDumpNoContribution I've added more details about "Is it possible to differentiate them by tags (advice)?" in my answer. Commented Oct 30, 2025 at 8:16

1 Answer 1

9

Since I noticed some confusion in the comments, here are some clarifications:

Replies in the new opinion based questions are exposed exactly as answers and seem to use the same infrastructure1.

Blaze is using the official API to fetch answers. This is the /answers endpoint.

An example "advice answer" can be found via this call. It is the API data returned for this answer and it has filters set to show all public fields2 and the response looks like this:

{
  "tags": [],
  "owner": {
    "account_id": 7843848,
    "reputation": 572,
    "user_id": 5929501,
    "user_type": "registered",
    "profile_image": "https://www.gravatar.com/avatar/6a0acf151a4411dd23aeba0476dc90be?s=256&d=identicon&r=PG&f=y&so-version=2",
    "display_name": "Thorsten Schmitz",
    "link": "https://stackoverflow.com/users/5929501/thorsten-schmitz"
  },
  "can_flag": false,
  "comment_count": 0,
  "down_vote_count": 0,
  "up_vote_count": 0,
  "is_accepted": false,
  "score": 0,
  "last_activity_date": 1761636672,
  "creation_date": 1761636672,
  "answer_id": 79802518,
  "question_id": 79802131,
  "content_license": "CC BY-SA 4.0",
  "share_link": "https://stackoverflow.com/a/79802518",
  "body_markdown": "I found the solution. It seems that MAUIs \\`WebView\\` only accepts single line commands, so using\r\n\r\n```\r\nawait myWebview.EvaluateJavaScriptAsync("document.querySelector('.buttonClass').click();");\r\n```\r\n\r\nworks.\r\n\r\nAs additional info for those who are interested:\r\n\r\n- It returns `null` while the button is present. When everything is loaded it return the string "null" instead.\r\n\r\n- `myWebview.EvaluateJavaScriptAsync("document.documentElement.innerHTML");` returns the HTML after loading everything\r\n\r\n- `WebView` doesn't need to show to do this, it can be used in the background for loading the website when other libraries don't work",
  "link": "https://stackoverflow.com/questions/79802131/how-to-load-a-website-html-and-click-a-button/79802518#79802518",
  "title": "How to load a website (HTML) and click a button?",
  "body": "<p>I found the solution. It seems that MAUIs `WebView` only accepts single line commands, so using</p>\n<pre><code>await myWebview.EvaluateJavaScriptAsync(&quot;document.querySelector('.buttonClass').click();&quot;);\n</code></pre>\n<p>works.</p>\n<p>As additional info for those who are interested:</p>\n<ul>\n<li><p>It returns <code>null</code> while the button is present. When everything is loaded it return the string &quot;null&quot; instead.</p>\n</li>\n<li><p><code>myWebview.EvaluateJavaScriptAsync(&quot;document.documentElement.innerHTML&quot;);</code> returns the HTML after loading everything</p>\n</li>\n<li><p><code>WebView</code> doesn't need to show to do this, it can be used in the background for loading the website when other libraries don't work</p>\n</li>\n</ul>\n"
}

As can be seen, this exposes no information to identify that it is related to a new type of question.

This might make sense it is the parent question which is a new type, the answer is just an answer. So, we can use the /questions/{ids} endpoint to fetch the information for the parent question. Again, with a filter showing all public fields3 there is no indication that the question is of different type, the API data for it is:

{
  "tags": [
    "javascript",
    "c#",
    "html",
    "maui"
  ],
  "comments": [
    {
      "owner": {
        "account_id": 11230997,
        "reputation": 2850,
        "user_id": 8239061,
        "user_type": "registered",
        "profile_image": "https://www.gravatar.com/avatar/eb02630d9fb632c9b1e45303bd665cd2?s=256&d=identicon&r=PG&f=y&so-version=2",
        "display_name": "SecretAgentMan",
        "link": "https://stackoverflow.com/users/8239061/secretagentman"
      },
      "edited": false,
      "score": 0,
      "creation_date": 1761609828,
      "post_id": 79802131,
      "comment_id": 140821535,
      "content_license": "CC BY-SA 4.0"
    },
    {
      "owner": {
        "account_id": 11230997,
        "reputation": 2850,
        "user_id": 8239061,
        "user_type": "registered",
        "profile_image": "https://www.gravatar.com/avatar/eb02630d9fb632c9b1e45303bd665cd2?s=256&d=identicon&r=PG&f=y&so-version=2",
        "display_name": "SecretAgentMan",
        "link": "https://stackoverflow.com/users/8239061/secretagentman"
      },
      "edited": false,
      "score": 0,
      "creation_date": 1761609865,
      "post_id": 79802131,
      "comment_id": 140821536,
      "content_license": "CC BY-SA 4.0"
    },
    {
      "owner": {
        "account_id": 11230997,
        "reputation": 2850,
        "user_id": 8239061,
        "user_type": "registered",
        "profile_image": "https://www.gravatar.com/avatar/eb02630d9fb632c9b1e45303bd665cd2?s=256&d=identicon&r=PG&f=y&so-version=2",
        "display_name": "SecretAgentMan",
        "link": "https://stackoverflow.com/users/8239061/secretagentman"
      },
      "edited": false,
      "score": 0,
      "creation_date": 1761609871,
      "post_id": 79802131,
      "comment_id": 140821537,
      "content_license": "CC BY-SA 4.0"
    },
    {
      "owner": {
        "account_id": 11230997,
        "reputation": 2850,
        "user_id": 8239061,
        "user_type": "registered",
        "profile_image": "https://www.gravatar.com/avatar/eb02630d9fb632c9b1e45303bd665cd2?s=256&d=identicon&r=PG&f=y&so-version=2",
        "display_name": "SecretAgentMan",
        "link": "https://stackoverflow.com/users/8239061/secretagentman"
      },
      "edited": false,
      "score": 0,
      "creation_date": 1761609888,
      "post_id": 79802131,
      "comment_id": 140821538,
      "content_license": "CC BY-SA 4.0"
    }
  ],
  "answers": [
    {
      "owner": {
        "account_id": 1008,
        "reputation": 89489,
        "user_id": 1338,
        "user_type": "registered",
        "accept_rate": 74,
        "profile_image": "https://i.sstatic.net/IUjpi.png?s=256",
        "display_name": "Jason",
        "link": "https://stackoverflow.com/users/1338/jason"
      },
      "is_accepted": false,
      "score": 0,
      "last_activity_date": 1761594925,
      "creation_date": 1761594925,
      "answer_id": 79802194,
      "question_id": 79802131,
      "content_license": "CC BY-SA 4.0"
    },
    {
      "owner": {
        "account_id": 7843848,
        "reputation": 572,
        "user_id": 5929501,
        "user_type": "registered",
        "profile_image": "https://www.gravatar.com/avatar/6a0acf151a4411dd23aeba0476dc90be?s=256&d=identicon&r=PG&f=y&so-version=2",
        "display_name": "Thorsten Schmitz",
        "link": "https://stackoverflow.com/users/5929501/thorsten-schmitz"
      },
      "is_accepted": false,
      "score": 0,
      "last_activity_date": 1761597976,
      "creation_date": 1761597976,
      "answer_id": 79802238,
      "question_id": 79802131,
      "content_license": "CC BY-SA 4.0"
    },
    {
      "owner": {
        "account_id": 7843848,
        "reputation": 572,
        "user_id": 5929501,
        "user_type": "registered",
        "profile_image": "https://www.gravatar.com/avatar/6a0acf151a4411dd23aeba0476dc90be?s=256&d=identicon&r=PG&f=y&so-version=2",
        "display_name": "Thorsten Schmitz",
        "link": "https://stackoverflow.com/users/5929501/thorsten-schmitz"
      },
      "is_accepted": false,
      "score": 0,
      "last_activity_date": 1761636672,
      "creation_date": 1761636672,
      "answer_id": 79802518,
      "question_id": 79802131,
      "content_license": "CC BY-SA 4.0"
    }
  ],
  "owner": {
    "account_id": 7843848,
    "reputation": 572,
    "user_id": 5929501,
    "user_type": "registered",
    "profile_image": "https://www.gravatar.com/avatar/6a0acf151a4411dd23aeba0476dc90be?s=256&d=identicon&r=PG&f=y&so-version=2",
    "display_name": "Thorsten Schmitz",
    "link": "https://stackoverflow.com/users/5929501/thorsten-schmitz"
  },
  "last_editor": {
    "account_id": 7843848,
    "reputation": 572,
    "user_id": 5929501,
    "user_type": "registered",
    "profile_image": "https://www.gravatar.com/avatar/6a0acf151a4411dd23aeba0476dc90be?s=256&d=identicon&r=PG&f=y&so-version=2",
    "display_name": "Thorsten Schmitz",
    "link": "https://stackoverflow.com/users/5929501/thorsten-schmitz"
  },
  "can_close": false,
  "can_flag": false,
  "comment_count": 4,
  "delete_vote_count": 0,
  "reopen_vote_count": 0,
  "close_vote_count": 0,
  "is_answered": false,
  "view_count": 415,
  "favorite_count": 0,
  "down_vote_count": 0,
  "up_vote_count": 0,
  "answer_count": 3,
  "score": 0,
  "last_activity_date": 1761655530,
  "creation_date": 1761589103,
  "last_edit_date": 1761655530,
  "question_id": 79802131,
  "share_link": "https://stackoverflow.com/q/79802131",
  "body_markdown": "I&#39;m working on a small tool in C# and using .Net MAUI. Part of it is loading a website and parsing a list of items from that site.\r\n\r\nI can load and parse the elements, but the site has a &quot;load more&quot; button instead of pages for the item list. Thus, I need to push that button via code until all elements are loaded and hence get the full html for parsing.\r\n\r\nBased on what I found online I tried using `angleSharp`\r\n\r\n```\r\nb = ( IHtmlElement )document.GetElementsByClassName(&quot;theClassName&quot;).First();\r\nb.DoClick();\r\n```\r\n\r\nas well as the MAUI `WebView` component\r\n\r\n```\r\nmyWebview.EvaluateJavaScriptAsync(@&quot; \r\n                var button = document.querySelector(&#39;.myClassName&#39;);\r\n                if (button) {\r\n                    button.click();\r\n                }\r\n            &quot;);\r\n```\r\n\r\nThe first one did nothing, the second one never completes. I also looked at `HtmlAgilityPack` but didn&#39;t find anything to invoke a click.\r\n\r\nWhat am I doing wrong?",
  "link": "https://stackoverflow.com/questions/79802131/how-to-load-a-website-html-and-click-a-button",
  "title": "How to load a website (HTML) and click a button?",
  "body": "<p>I'm working on a small tool in C# and using .Net MAUI. Part of it is loading a website and parsing a list of items from that site.</p>\n<p>I can load and parse the elements, but the site has a &quot;load more&quot; button instead of pages for the item list. Thus, I need to push that button via code until all elements are loaded and hence get the full html for parsing.</p>\n<p>Based on what I found online I tried using <code>angleSharp</code></p>\n<pre><code>b = ( IHtmlElement )document.GetElementsByClassName(&quot;theClassName&quot;).First();\nb.DoClick();\n</code></pre>\n<p>as well as the MAUI <code>WebView</code> component</p>\n<pre><code>myWebview.EvaluateJavaScriptAsync(@&quot; \n                var button = document.querySelector('.myClassName');\n                if (button) {\n                    button.click();\n                }\n            &quot;);\n</code></pre>\n<p>The first one did nothing, the second one never completes. I also looked at <code>HtmlAgilityPack</code> but didn't find anything to invoke a click.</p>\n<p>What am I doing wrong?</p>\n"
}

1 This is probably why the new questions are limited to one level of replies. They are re-skinned questions and answers, and there is no support for answer where the parent is an answer.

2 Any answer fields that do not require authentication. The fields missing are: "accepted", "downvoted", and "upvoted"

3 Any question fields that do not require authentication. The fields missing are: "downvoted", "favorited", and "upvoted".

3
  • 3
    So the advice tag is not part of the tags and not exposed otherwise. A possible feature-request would then be to expose the question type for example as extra field or as part of the tags. Commented Oct 30, 2025 at 12:55
  • 3
    @NoDataDumpNoContribution maybe even the answer endpoint as well so clients don't necessarily have to fetch both endpoints to know all. But this probably goes into the territory of us being several steps ahead of the amount of effort the company wants to invest. It's an experiment, not a permanent feature. Yet. Commented Oct 31, 2025 at 11:15
  • @Gimby: I think it's still worth raising the request; obviously, the company will consider whether/how to proceed with the experimental feature as part of considering feature requests relating to it, but that's not necessarily something y'all need to worry about when thinking about how the feature can be improved. :) Commented Nov 4, 2025 at 15:54

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.