You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feedback Instantly, Effortlessly, and Rapidly (FIRE)
is a userscript which allows you to react to SmokeDetector spam reports in chat
without leaving the chat room.
This is still a "work in progress".
As of this moment, the userscript posts flags and MS feedback.
Features
Open a popup for any SmokeDetector report by clicking the "Fire" or "🔥" button in the report.
SmokeDetector's last report can be opened in a popup using Ctrl+Space
The popup will contain:
A header for the post's site
Clicking this header or pressing 7 will open the reported post on the site.
These can be selected with 1 through 6, then "clicked" by pressing Space or Enter.
The buttons can contain a number in parentheses. This indicates how many users have sent that type of feedback. All of [spam], [rude], and [tpu-] are the same feedback and will show the same number. They differ in what flag was raised, if any, but flag counts are not displayed.
The title for the reported question, or the title of the question on which the reported answer was placed.
Hovering over the title will display why the post was reported.
To the left of the title:
A ✏️ is displayed if the post has more than one revision (i.e. it has been edited, but not including edits made during the edit grace period).
- A click while this popup is open will "lock" the popup open, so you can select text inside the popup. A click outside the "locked-open" popup will unlock it.
The username of the post author and their reputation on that site.
The reported post's contents.
All links in a post will show a tooltip with their target URL when you hover your mouse over them. This is in addition to the browser's default display of hovered URLs.
Code blocks in the post can be expanded by clicking on them.
If selected (configurable setting), the post's images are hidden behind a placeholder image that can be clicked to show the image included in the post. If this option is set, then the post's images are not downloaded from their source until you click on the placeholder. This is to prevent potentially NSFW images from being downloaded to your machine.
At the bottom right of the popup, is a ⚙️, which opens the settings popup when clicked.
Just to the left of the ⚙️ is the currently running version number of FIRE. It's a link to download the most recent released version from GitHub.
An Alt-Click in the popup will copy the currently selected text to the chat room's input textarea. If there's no selection and the Alt-Click is on a link, then the link's URL is copied to the chat room's input textarea. If the current page is not a chat room (e.g. it's a transcript or other page), then those values are passed to any currently open tab showing the Charcoal HQ char room.
Provided you have authorized metasmoke to cast flags from your account and the configuration setting for flagging is enabled:
When you submit spam feedback, the post will also be flagged as "spam" on the SE network.
When you submit rude feedback, the post will also be flagged as "rude/abusive" on the SE network.
Those buttons will still work for providing feedback when the configuration setting for flagging is disabled.
The popup modal's blur can be toggled with B
The popup can be closed by pressing Esc, clicking outside of the popup, or clicking the [Close] button at the top-right of the popup.
Examples
When SmokeDetector reports a post, these steps can be taken:
To flag it as spam and send "True positive" feedback (tpu-):
Ctrl+Space - Open the last report,
1 - Select "spam",
Space or Enter - Submit.
To send "False positive" feedback:
Ctrl+Space - Open the last report,
6 - Select "fp-" (False positive),
Space or Enter - Submit.
To open the reported post on its site:
Ctrl+Space - Open the last report,
7 - Open the post.
Authorize FIRE with Stack Exchange
First, authorize FIRE from chat.stackexchange.com (chat.SE)
You will need to do this from chat.SE, commonly from Charcoal HQ.
Open the settings window.
Click "Authorize" button.
A new window opens where you "accept"
That window redirects to this chat with an access token in the URL hash.
Fire sees the hash, saves your token, then closes the new window.
You go back to the old window, it detects a token, and shows you a "success" message.
Once you have FIRE authorized and configured as you desire on chat.SE, you can manually transfer that configuration, including the tokens for authorizing with Stack Exchange and metasmoke, by:
In Charcoal HQ, enter the following into the browser console for the tab:
Copy the entirety of the output from that command and paste it into the browser console for a tab in chat.SO and/or chat.MSE. You then need to reload all tabs on chat.SO and/or chat.MSE that are using FIRE. This will overwrite the FIRE settings on chat.SO with the FIRE settings on chat.SE. If you paste the same console output into a tab on both chat.SO and chat.MSE, you'll have the same FIRE settings on all three chat servers. If you don't immediately reload any tabs which are running FIRE, you may loose the configuration you just wrote, as a running instance of FIRE may overwrite the configuration you just saved.
Loading from a bookmarklet (e.g. on mobile)
It is possible to load FIRE and AIM into the page using a bookmarklet. You can use the following code to load both
FIRE and AIM into a chat page using a bookmarklet or just by running the following in the browser console:
You can use the following code in your browser's console to clear FIRE's data in order to reset FIRE's configuration to what it would be when first
installed. In order to fully reset, you would need to run this in the browser console of tabs for each of the three chat servers.
When you first install FIRE, you probably have to reload the chat room before you see the clickable 🔥 FIRE decorations
Forgetting to authorize FIRE. See the previous section.
FIRE will not submit flags on any site where you are a diamond moderator (♦), as a security precaution. However, it will still flag on all other sites. Your feedback will still be submitted on sites you are a moderator. The restriction of not raising flags on sites where you are a moderator is a general flagging-through-metasmoke restriction.
Flagging will fail if you are not registered on the particular site.
Version History
1.6
1.6.2
Remove use of DOMSubtreeModified event , as it will be removed from Chrome shortly.
1.6.1
Adapt to SE supplying unexpected data when using the implicit OAuth 2.0 flow.
1.6.0
Copying to chat input upon Alt-Click. See above for a more detailed description.
1.5
1.5.2
Posts display: render required and moderator tags; Adjust some post CSS, including kbd and tags.
1.5.1
Handle SD using bold for post URLs.
1.5.0
Make short links more visible. Recognize "obfuscated" as a type of number detection. Improve detection of bare URLs in parts of why data.
1.4
1.4.1
Bugfixes: Be sure to turn off FIRE button loading indicator; UI glitch in FIRE settings button preventing click
1.4.0
Have links in reports wrap anywhere
Don't allow the report cache to grow without bound
Fix the blur option so it doesn't cause the chat page to relayout
Allow the main and settings popups to be moved and resized.
Linkify some URLs in the why data
Use a more identifiable name for the fireChatListener
Always allow re-authorization with SE
Add room 129590
Due to HTTPS certificate issues change to via.placeholder.com
Spin the FIRE button when loading to indicate progress
Linkify the URLs in the blacklisted user reason.
Allow some tooltips (e.g. the why data) to lock open upon click
Trigger events with post data when opening and closing, to allow better integration with add-ons.
Various internal improvements
Better responsiveness
Move the CSS into the main script, rather than an external file.
Handle backoffs from the SE API
Format the why data
Better linking of username
Handle SE site-relative URLs
Support spoilers, blockquotes, tables, snippets (somewhat), H4-H6, embedded YouTube videos in iframes
Prevent display of HTML elements which SE doesn't support.
More accurately recover the original HTML from the SD processed report body.
Rewrite a considerable portion of generating the report body.
Adjust formatting of headers to more closely match SE presentation
xo 0.30.0 and eslint 6.8.0 changes
Formating and code style changes
1.3
1.3.0
Add recognition of the new user, "metasmoke", posting "feedback received" messages. Update list of rooms in which FIRE runs.
1.2
1.2.0
Add rude/abusive flagging. @require script dependencies. Adding R/A flagging changes keyboard shortcuts. Fix flagging toastr messages, which were often not displayed. A toastr message will now be displayed for each of feedback and flagging. The toastr for feedback will be on top.
1.1
1.1.0
Enable FIRE on chat transcripts, searches and user pages. Add room 58631: The Restaurant at the End of the Universe. Adjust CSS (position for MS button, version and settings button;add/adjust blockquote, li, code). Add toast messages for other MS flagging responses (no account & already flagged).
1.0
1.0.32
Bugfix: Escape image tags in code blocks
1.0.31
Remove display of weight. Adjust probably deleted detection when flagging via MS. Keypress block (again).
1.0.30
Prevent keypress from affecting chat input when the popup is open. Add chat rooms.