<!-- thumbnail: https://i.sstatic.net/ntR70.png --> <!-- version: 2.0.0beta3 --> <!-- tag: roomba --> <!-- excerpt: Will the question be Roomba'ed? If so, when? If not, why? Adds a status line to questions showing: If and when Romba will delete the question; Why it won't be deleted; If down-voting will Roomba. --> ## Roomba Forecaster ( [install](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/RoombaForecaster.user.js) ) <sub><sup>( [GitHub][1] )</sup></sub> Roomba Forecaster is a user-script that shows the question's status with respect to being deleted by Roomba. This script adds a "roomba" status line after "viewed"/"active", in the question stats line just under the question title on question pages, which shows: * If [Roomba](https://stackoverflow.com/help/roomba) will delete the question * How long until the question is deleted * Why the question won't be deleted (by default, displayed in a tooltip) * If you down-voting on the question or answer(s) will qualify the question for Roomba You can click on the "roomba" status line to open an options dialog to change display settings. ## Where it is on the page relative to the question [![enter image description here][2]][2] #### Original location, which can be obtained with a userscript which restores the old layout with question stats in the sidebar ##### The "roomba" status line (old location) ![Roomba Forecaster](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/larger-down-vote-question-will-roomba.png) ##### Where it is on the page relative to the question (old location) [![Roomba Forecaster location on the page](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/location-on-page-with-red-circle-660px.png)](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/location-on-page-with-red-circle.png) ## Why it won't Roomba: tooltip (default) or always visible (optional) The reasons the question does not qualify for the three different Roomba tasks is included in a table. The table is, by default, displayed in a tooltip when the mouse hovers over the "roomba" status line: ![tooltip](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/tooltip.png) Alternately, the table can be always visible by selecting the appropriate display option. While this is still available, it doesn't look nearly as reasonable with the stats in a line underneath the question title (the new/current location). ## Option to show if your down-vote(s) will result in the question being Roomb'ed (not enabled by default) There is an option to display if you down-voting the question and/or answer(s) will qualify the question to be Roomba'ed. ### You should not downvote *just* to cause a question to be deleted There is considerable controversy with respect to downvotes to a question or answer(s) resulting in the question being deleted by the Roomba. If the post content is poor and *you would have downvoted that post anyway*, then just downvoting and not close-voting or delete-voting, because it's likely that the Roomba will delete it in a couple/few days, is a valid choice for how you use the limited resources available to you for moderation (i.e. how you allocate the use of your up/down-votes, close-votes/flags, and delete-votes). However, downvoting either the question or answer(s) *just to cause the question to be deleted by the Roomba* isn't permitted. See: [Clean-up by downvoting? A ridiculous user experience](https://meta.stackoverflow.com/q/307009/3773011). ### What it looks like Question ![downvote question will roomba](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/downvote-question-will-roomba.png) Answer(s) ![downvote answer will roomba](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/downvote-answer-will-roomba.png) Note: The 30 day Roomba task, `RemoveDeadQuestions`, if there are any downvotes on the question, then it requires that there be a downvote on the question which is greater than 2 days old at the time the question is being considered for deletion. See [answer to: Lost 5 questions following a serial downvote](https://meta.stackexchange.com/a/322173/271271) and the comments on that answer for more details. ## Number of days to deletion If the question will be deleted by Roomba, then the number of days until it is deleted is displayed, along with if it is a daily, or weekly Roomba task. One Roomba task runs daily: ![daily roomba](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/daily-20days.png) Two Roomba tasks run weekly:<sup>1</sup> ![weekly roomba](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/weekly-29days.png) ## Options Clicking on the "roomba" status line will open an options dialog where you can select what is displayed. The following GIF shows how the display looks with the various different options: ![Roomba Forecaster options](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/options.gif) Clicking on the <kbd>Close</kbd> button will keep the selected options for use on this page only. <kbd>Save</kbd> will store the options for use on all pages. <kbd>Cancel</kbd> abandons any changes you have made to the options. ### Short descriptions in the status line (optional) The optional short descriptions in the "roomba" status line are cryptic: ![short reasons](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/short-reasons.png) The best way to learn what they mean is to match them up against what is displayed in the larger table (either as a tooltip, or always displayed). ![short reasons](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/README-assets/tooltip-short-reasons.png) ## Getting the code ### [Install](https://github.com/makyen/StackExchange-userscripts/raw/master/Roomba-Forecaster/RoombaForecaster.user.js) from GitHub ##### It's a userscript. Use a [userscript manager](https://stackapps.com/tags/script/info). This is a userscript, so you will want/need [Tampermonkey](https://tampermonkey.net/) (closed source, most widely available), [Violentmonkey](https://violentmonkey.github.io/) (open source), or other [userscript manager](https://stackapps.com/tags/script/info). ###### I recommend against Greasemonkey 4.X, but Roomba Forecaster is functional Unfortunately, I can no longer recommend [Greasemonkey](https://addons.mozilla.org/en-US/firefox/addon/greasemonkey) (open source; Firefox only). I try to make sure that my scripts are compatible with Greasemonkey 4.X (GM4), but it lacks features which some of my scripts use, but, for my scripts, I try to make it that their lack just degrades performance. The change to Greasemonkey 4.X was *required* by Firefox moving to only WebExtensions based add-ons. However, there were significant changes made to Greasemonkey 4.X which broke backward compatibility (and there's still a significant lack of functionality). There is no intent to fix backward compatibility. As a result, using Greasemonkey 4.X will result in ongoing issues with older scripts which have not been updated to be used with it, or with scripts which don't consider the differences. Thus, while I used to strongly recommend Greasemonkey 3.X due to a significantly better security environment (gone in GM4), I recommend against using Greasemonkey 4.X vs. the alternatives. To give an idea of the scope of the incompatibility issues, at least 30 of the scripts which I use for Stack Overflow/Stack Exchange do not function correctly under Greasemonkey 4.X. ### The source code is on [GitHub][1] Please [file any bugs/feature requests as issues](https://github.com/makyen/StackExchange-userscripts/issues/new) there. ## Contact You can contact me here through Stack Exchange comments or in SO/SE chat. If there are problems with, or feature requests for, this userscript, please [file an issue on GitHub](https://github.com/makyen/StackExchange-userscripts/issues/new). While GitHub issues are preferred for bugs/feature requests, making sure I get the information (e.g. comments/chat) is sufficient. ## Browsers Roomba Forecaster has been tested on Chrome, Firefox, Firefox ESR, Firefox for Android, Opera, and Edge. It should also be compatible with other browsers. ## Compatibility Notes The tooltip is styled to look like a native tooltip in the browsers which were tested: Chrome, Firefox, Firefox ESR, Firefox for Android, Opera, and Edge. Thus, the tooltip will look slightly different in in each browser. The images above are from Chrome. ## License Roomba Forecaster's code is released under the [MIT License](https://opensource.org/licenses/MIT). Earlier versions of Roomba Forecaster's code were released under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/), the international version of the license used for all contributions to Stack Exchange. ---------------------------- <sup>This is a fork of [RoombaForecast](https://github.com/Siguza/StackScripts/blob/master/RoombaForecast.user.js).</sup> <sup>1. Actually, four Roomba tasks run weekly. The other two affect only questions which have been migrated to another Stack Exchange site (leaving a migration stub) or migrated from another site and rejected. While the script does detect these, the Stack Exchange system automatically redirects the page to the site where the question currently exists. Thus, unless something changes in how Stack Exchange displays such questions, you add the `?noredirect=1` parameter to the URL, or are a moderator on the site where the migration stub exists, it's unlikely you will see one. OTOH, you could, of course, go searching for rejected migrations which have not yet been deleted.</sup> <sup>Note that there are some old, migrated questions that have been closed on the destination site, which should have triggered their rejection. While these fit the documented criteria for Roomba deletion, they do not get deleted. If the question has not been deleted after twice being eligible for deletion when Roomba ran, then Roomba Forecaster assumes that the question is not actually eligible to be Roomba'd. If the documentation is updated to indicate the actual criteria, then the script will be updated.</sup> [1]: https://github.com/makyen/StackExchange-userscripts/tree/master/Roomba-Forecaster [2]: https://i.sstatic.net/Ak6yu.png