soscripted / sox

Stack Overflow Extras: a userscript for the Stack Exchange websites to add a bunch of optional toggle-able features
http://stackapps.com/q/6091/
MIT License
72 stars 15 forks source link

Inbox notification when downvoted question is edited #98

Closed fixer1234 closed 7 years ago

fixer1234 commented 8 years ago

Installed Version: 1.X.X | Environment: Chrome/Tampermonkey Note: Firefox not Chrome

I believe this is tied to the token issue (reported separately), but not 100% sure. If so, this is already known and, hopefully, would disappear when the token problem is solved.

Expected Behavior

How do you expect the feature to work? Feature button to select the option on the post, plus inbox notification when the downvoted question is edited.

Actual Behavior

How is the feature currently behaving?

Feature button: This was originally an eyeball icon and my recollection is that the icon was replaced by a text link as one of the actions under the question. That part worked in previous versions but is missing in v2.0.1 (perhaps now a function of the token?).

Notification: This part never worked for me. I think this is the feature that the token is required for and that piece never worked, so the notification didn't. The token is still not working (different issue already reported), so I assume that's what underlies the problem with this feature.

Error Logs

SOX errors are logged to the browser console, if possible, please post those here.

I'll collect these if needed, but my understanding is that the problem is known (token).

Steps to reproduce

What steps did you take to reproduce the issue?

Went to a question I had downvoted to test the feature, but was unable to test because of the missing button.

shu8 commented 8 years ago

@fixer1234 the bug is fixed in the new version, so it should start working once the access token is sorted

fixer1234 commented 8 years ago

@shu8, I'll keep this feature issue separate from the token issue, even though they're related, in case any of the feature behavior is independent of the token.

In the new version, the "notify on edit" link is back, but it isn't working correctly, possibly because of the token issue, which I'll update separately.

It looks like you use a color change to indicate status on a post. Clicking doesn't reliably cause the color change, it often requires several clicks.

The change also isn't permanent. If the page is reloaded, the color reverts to "inactive".

If an edit has occurred and a message pops up to advise this, with instructions to click the message to refresh the post, the "notify on edit" link disappears with the refresh. Reloading the page restores it (but without the active color indicator).

Aside from the button behavior, the feature does not result in notification, but my guess is that the token isn't working.

If all of the behavior is tied to the token, it probably makes sense to just wait on that issue.

shu8 commented 8 years ago

The bug with this has been fixed in the latest version, but the token issue still exists, I'll comment on that issue about this.

I'll fix the click-to-refresh issue once everything else is working :)

fixer1234 commented 8 years ago

@shu8, as mentioned in a comment on #71, I apparently have a token. It isn't clear which token issue your comment above refers to, but:

The feature button appears to work in the new and improved, new v2.0.1. The active indicator (color change), happens on the first click and persists through page reloads, etc. I haven't encountered another opportunity to check the edit; click to refresh.

The notification doesn't work yet. I selected the notification on edit on three questions. One was in the edit review queue for someone else's edit, which was approved. The other two I subsequently edited. By about half an hour later, there were no notifications in my inbox.

shu8 commented 8 years ago

Should be fixed in this even newer version

fixer1234 commented 8 years ago

Newest, newer, new version: I selected the Notify on Edit button on an answer post in the edit review queue. A few minutes later, I got a notification that the post had been edited. So that part works. The only problem is that the edit hadn't been approved yet, so there was no edit on the post.

Also, every few minutes, a new notification pops up (inbox message count bump), even though the edit is still pending on the post and I had viewed the inbox. I hadn't marked it as read, figuring that would unselect the Notification on Edit button. I see that Mark as Read doesn't affect the Notification on Edit button, so that needs to be manually unselected. Mark as Read does delete the notification and stops the repeated inbox message count bump. That action is a bit counter-intuitive and inconsistent with other inbox messages. It could benefit from either user guidance or a more consistent action:

I assume that this feature doesn't care who makes the edit. As another test, I opened a question, selected Notify on Edit, then edited the post. This did not trigger a notification.

Another test; results from several hours later: During an edit review, I opened the post in another tab and selected Notify on Edit. Then waited for the edit to be approved. I don't recall on this one whether I got the immediate inbox notification after making this selection, whether the notification repeated, or whether I clicked Mark as Read. However, the selection on the post was still active. The edit was eventually approved, but no notification showed up in the inbox.

Update: Just received multiple copies of two notifications. One was for my own edit described above (notification arrived 4 hours later). The other was for the edit described in the previous paragraph (notification arrived ~5 minutes later). The notifications arrived together, so it looks like it relies on some kind of periodic system refresh, and all notifications in the prior period get swept into it.

Problem: The inbox contained two pairs of notifications for two posts. I opened both posts in new tabs. I clicked on one and saw that it was my own edit. I deselected the notification option on the post, went back into the inbox, and marked those two copies as read.

By that time there were additional notifications in the inbox for that pair of posts, but I didn't mark any other copies as read. I went back to the second post, then reopened the inbox. Previously marking the two as read had cleared out all of the notifications (for both posts, including additional copies that had come in).

I went back to the post and got another inbox notification. Reopened the inbox, and it was another notification for my own edit, for which I had since deselected the notification option. Soon after, another notification arrived for that same edit. I went back to the second post without marking either new one as read. Another notification popped up (don't know for which post). Eventually, I reopened the inbox to clean up the additional notifications, and they were already gone.

So there's multiple strange things going on, and actions that are very delayed (possibly including the feature cleaning up its own mess, but not in a timely way).

Since then, every few minutes, two more notifications for my edit pop up simultaneously. I mark each as read and they disappear, then a new pair pops up again a few minutes later. So far there has not been repeats for the other edit. So there have been a total of maybe four for the other edit, all in the initial batch, and maybe about a dozen for my edit (and mine was the first to be deselected).

Also, every time I open a new SU-related tab, the inbox shows 1 new message. When I open the inbox, it shows two notifications of my edit. I mark them both as read. The same thing then happens on the next tab I open (but the inbox on previously opened tabs stays clean, and those don't get the same new message indicator). So I'm guessing there is some caching that isn't being cleared out.

fixer1234 commented 8 years ago

@shu8 The action on the page where the notification option is selected seems to be working, and then all of the issues are behind the scenes in the site infrastructure. The inbox isn't tied to any particular page, and the action is at unpredictable times. Is there a practical way to capture logs of what's going on behind the scenes?

shu8 commented 8 years ago

@fixer1234 This feature is intended for long-wait edits. It only checks for edits every day; the code looks at the date of the last checked time, and only requests updates from the API if the current date is after the last date.

eg. if I check an SE site today, date 26, it won't look for any edits until at least the 27th. Does that explain, a bit, of what's happening and why you're not getting updates when you think they should be?

I think the whole 'double-notification' thing is a bug, and as soon as I can repro it, I'll try to fix it.

To confirm the notification feature is working as intended though, please could you do the following, in version 2.0.1e:

If you see double notifications, please do screenshot them and also dump the console contents here (the net tab is not required for this dump!)

fixer1234 commented 8 years ago

@shu8 I jumped to v2.0.1f and will test as you suggest. However, let me just say, "WHAT ON EARTH WERE YOU THINKING?" :-)

There's no mechanism for being alerted to changes regardless of when they happen. If the OP jumps right on a problem post and fixes it, we don't want to wait until the next day to find out about it. The goal is to get the post back in circulation as fast as possible. Why introduce a delay, even go out of your way to specifically code it?

Please, go into the code, grab that date test, and yank that sucker out. Do it now. Don't wait to pass Go and collect $200.

This is one of SOX's most valuable features. People have been asking for a way to be alerted to edits after close votes for years. I even posted a question on conditional close votes a year ago for which this is the answer. Now that we have a solution, don't crap it up. If you build in a delay, people will still need another solution because this won't be it.

OK, I feel a little better now that I got that out of my system.

shu8 commented 8 years ago

@fixer1234 Wow. OK. Sounds like that was a shit idea :P

Any ideas as to what I can make the date test be then? Every (half an) hour? I just don't want to be polling the API every other second uselessly, because SE has some pretty strict throttle limits that block you for days if you do stuff like that.

I'd be more than happy to change it to anything else, provided it's not too often! :) Please do reply with timing thoughts :)

fixer1234 commented 8 years ago

@shu8 So the plot thickens. Too bad there isn't a way for the feature to leave a hook on the post that gets triggered when the post is edited. The delay is something that it would probably be worth advising SOX users about so they don't think the feature isn't working.

Timing thoughts? Real time isn't necessary, but as close to it as practical. Most users aren't glued to the site. They periodically check it, or leave it open and glance for indications of activity. The sooner the alert is posted, the sooner they can act; or the notification might catch therm on an earlier re-visit.

I would think something on the order of 15 minutes would be great. If that's too often, your half hour suggestion would be fine, even hourly would work, especially if users were aware of the polling schedule. If that's still too much polling, go with whatever you can get away with. Two hours isn't nearly as good as one hour, but it's way better than next day. Just my general sense that once you get to four hours or so, it might end up effectively next day for a lot of users, anyway (but if that's the best you can get away with, it's still better than next day for at least the diehard users).

If this becomes a popular feature (although SOX is one of the best kept secrets on SE), maybe the site programmers can build some kind of hook so SOX doesn't have to create so much traffic. After all, people have been asking for some type of solution to close vote edit notification for a long time.

shu8 commented 8 years ago

@fixer1234 I'll see if I can find something :)

I'll probably stick with 1/2 hour

shu8 commented 8 years ago

@fixer1234 So, I've rewritten this feature, bearing in mind what you said.

The new version now does 2 things:

Please could you install v2.0.1h and test this?

I haven't tested it lots myself yet, so it may be buggy, but please let me know if anything happens that you think shouldn't.

You can test the live-part by 'watching' a question on 1 tab, and then open another on a different tab, edit the 'watched' question, and you should see a notification appear on your other tab.

You can test the hourly, API, part by watching a question, editing it, and then come back in an hour on any SE page and you should see a notification.

If there are any bugs with the notification itself, please screenshot the notification in the inbox dropdown dialog and attach it here, and dump the console as well :)

fixer1234 commented 8 years ago

@shu8 Will do. Just so I know what I'm looking for, what role does SOX play after the post is selected? i.e., does the selection trigger a behind-the-scenes process that uses the SE infrastructure, so the notification will appear even on a computer without SOX active, or does SOX need to be active (and v2.0.1h?) to get the subsequent notification?

Also, the effect of the live vs. API notification isn't clear. It sounds like the live notification will appear on any (all?) open SE tabs at the time. Does the API provide a second notification?

shu8 commented 8 years ago

@fixer1234 Needs to be on the (same) computer, with SOX v2.0.1h or later. It does use the SE infrastructure, partially, but all the data the script uses is saved locally so you need to use the same script and computer :/

BTW -- I know the green font change isn't persistent over page loads, but it is saved behind-the-scenes. I'll fix that tomorrow. :)

fixer1234 commented 8 years ago

@shu8 The difference in result (and coordination), between live and API isn't clear (other than the delay); how do they co-exist? Does API always provide a (second) notification as long as the Notify on edit is still selected? In what case would it provide a notification if live has already done it?

Anyway, some test results:

This was still the status roughly 5 hours after the first edit listed (which was 3 hours after the SE day change). No inbox notifications and no new message indicator.

Roughly 9 hours after the first edit listed here, I rechecked. The last edit listed above had been approved 4 hours prior. The inbox showed a new message count of 2. In the inbox was one notification for each of the five edits listed above.

I marked all of the messages as read, and each disappeared as it was marked. I also deselected all of the notification requests. Unlike the earlier SOX version, there were no immediate re-notifications (at least within several hours).

Since the first edit appears to have gotten a live notification, any chance you have something to suppress multiple notifications (an earlier problem), that may be preventing other live notifications?

I tracked two more edits from the edit queue. Neither received a notification within about 2 hours of being approved. I'll check back later to see if any showed up after a long delay.


Just about to shut down. I refreshed a tab and got an alert of 7 new messages. Again, the count was incorrect, there were 6 messages. These included the two most recent edits (just shy of two hours after approval), my three edits, and one of the earlier edits I tracked (the other earlier edit was not re-notified). I marked one as read. It disappeared. About a minute later, the other edit notifications all disappeared simultaneously on their own. Notification on all of the earlier edits had been deselected many hours ago.

shu8 commented 8 years ago

@fixer1234 In v2.0.1i, I've made the green font change persistent over page loads.

I've just thought (as I was writing this!) of how I could make it check for updates on every page load, so please bare with me whilst I implement it, so I wouldn't worry too much about testing the api part right now, but rather the live part please! :)

If there any bugs, please dump the console, there should be a quite a bit of information there for me! :)

shu8 commented 8 years ago

@fixer1234 ignore the above message, I just pushed v2.0.1k (skipped j).

Now, you can get live notifications, and the API will be checked for every post, hourly, provided you're still on an SE site.

Clicking 'mark as read', currently, does not remove it from the watch list.. what are your thoughts on this issue? Should clicking it remove it from the watch list? I'm 50/50 atm, because on one hand, a user might still want to receive edit notifications, however on the other hand, the use is decreased a bit because if the first edit didn't do much, you might think whether subsequent ones would either.. any thoughts?

fixer1234 commented 8 years ago

@shu8 I'll try to test this later.

Thoughts on the mechanics: I'm not sure if the action is designed the way it is because of limitations, or because you want it to work that way on purpose. What I would find most intuitive would be this:

If this type of action is precluded by limitations you have to work with, let me know and I'll rethink this.

shu8 commented 8 years ago

thanks for that..

Does all of this make sense? and does that 3rd bullet sound good?

fixer1234 commented 8 years ago

@shu8 OK 2nd bullet doesn't seem to work as intended, yet (as of the previous version I tested). I'm still not following all of the logic on this piece of the action. If a person is doing their own edit, why is there a need to notify them at all (other than to test the feature)? If it does notify on their own edit, why the need to do it on a different tab, using different timing? If you're able to trigger a live notification, why not do only that? If you need to rely on the API, why 2 hours instead of half an hour (as long as half an hour doesn't trigger throttling)? I think the main consideration with the length of the delay is the likelihood that the action will be delayed by a day because we miss the window of the user's visit(s) that day.

BTW, people can use their own profile page to find edits they did, so if a user improves on an edit, there probably isn't a reason to send a notification based on the edit they improved on (similar to not sending notifications for their own edits).

Third bullet, I'm not sure of the point. If you're saying new notifications stop when the user deselects watching, I agree. If you're saying delete old notifications from the inbox, then no. Once an appropriate notification is sent to the inbox, it should never be deleted, regardless of whether the user later stops watching that post. They might want to think about whether an edit fixes a problem and then come back later to make a decision on retracting a downvote or close vote. Or they might not have time to review or improve on a lengthy edit and want to come back later. Treat it like any other inbox message; leave it in the history.

Fourth bullet sounds good.

fixer1234 commented 8 years ago

@shu8 Tested v2.0.1k on #95 and got throttled. I'll wait for instructions before testing this feature, especially if you plan to modify it.

fixer1234 commented 8 years ago

@shu8 Installed v2.0.1L and then did a several hour session. No sign of throttling, so that's good. I'm not sure what you may have changed in the design of this feature, so not sure what I'm looking for. Testing included tracking several edits. One was approved 30 minutes ago, another was my edit from two hours ago. Neither produced a fast notification, so it isn't clear whether you retained the live notification. No notification was received on either one, so it isn't clear whether it isn't working (I can look for a notification tomorrow), or the delay is set too long to get a notification in time for it to be useful. I'll check it tomorrow. If there were no notifications, how do I usefully dump console output since the action is behind the scenes at a delayed time?

shu8 commented 8 years ago

@fixer1234 ok, just to check if everything is working, (might be a bit of a pain...):

Firstly, please 'watch' a question, and then go to the site's homepage and stay there. Then, open a private/incognito window, login to SE and edit that same question. As soon as you edit it, go back to the non-private window and you should see a notification. If not, please dump the entire console here.


Regardless of whether that works, please also:

Watch a question and close everything SE-related. Open a private/incognito window and edit that same question. Close the private window and open a normal window again (where SOX is enabled) and within 15 minutes a notification will appear. You will need to refresh every few minutes to trigger the checking for updates. If it doesn't work after 15 minutes, please dump the console here as well


Changes I made:

fixer1234 commented 8 years ago

@shu8 First test: no immediate notification (~5 minutes). I checked again after 40 minutes; still no notification (multiple refreshes). Console output:

GET 
http://superuser.com/questions [HTTP/1.1 200 OK 90ms]
GET 
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js [HTTP/1.1 304 Not Modified 39ms]
GET 
http://cdn.sstatic.net/Js/stub.en.js [HTTP/1.1 304 Not Modified 26ms]
GET 
http://cdn.sstatic.net/Sites/superuser/all.css [HTTP/1.1 304 Not Modified 33ms]
Warning: NetUtil.asyncFetch() requires the channel to have one of the security flags set in the loadinfo (see nsILoadInfo). Please create channel using NetUtil.newChannel()
GET 
https://i.stack.imgur.com/DPd3M.jpg [HTTP/1.1 304 Not Modified 28ms]
GET 
https://i.stack.imgur.com/DPd3M.jpg [HTTP/1.1 304 Not Modified 28ms]
GET 
https://www.gravatar.com/avatar/08537988ca97ed7fee568c386705566d [HTTP/2.0 304 Not Modified 21ms]
GET 
https://i.stack.imgur.com/lAhj3.png [HTTP/1.1 304 Not Modified 28ms]
GET 
https://www.gravatar.com/avatar/1d437dbb5f5309d4742523c79d9199c8 [HTTP/2.0 304 Not Modified 25ms]
GET 
https://i.stack.imgur.com/D0jX2.jpg [HTTP/1.1 304 Not Modified 31ms]
GET 
https://www.gravatar.com/avatar/a007be5a61f6aa8f3e85ae2fc18dd66e [HTTP/2.0 304 Not Modified 27ms]
GET 
https://www.gravatar.com/avatar/8cb7561f4a73c8ec8c2999c8927f7696 [HTTP/2.0 304 Not Modified 27ms]
GET 
https://i.stack.imgur.com/VI9St.png [HTTP/1.1 304 Not Modified 46ms]
GET 
https://i.stack.imgur.com/WfFBz.png [HTTP/1.1 304 Not Modified 37ms]
GET 
https://i.stack.imgur.com/Daf6l.jpg [HTTP/1.1 304 Not Modified 41ms]
GET 
https://www.gravatar.com/avatar/2c492983af89b49d44250c79579a2641 [HTTP/2.0 304 Not Modified 36ms]
GET 
https://www.gravatar.com/avatar/0b51840eb7be0a43d1d855b2f79bc0c8 [HTTP/2.0 304 Not Modified 40ms]
GET 
https://i.stack.imgur.com/ee4vJ.jpg [HTTP/1.1 304 Not Modified 44ms]
GET 
https://i.stack.imgur.com/i1gXV.jpg [HTTP/1.1 304 Not Modified 53ms]
GET 
https://www.gravatar.com/avatar/25521d528798772f5301d7454331cedb [HTTP/2.0 304 Not Modified 53ms]
GET 
https://www.gravatar.com/avatar/c5ef481e47f40861b734abc7d7973777 [HTTP/2.0 304 Not Modified 52ms]
GET 
https://www.gravatar.com/avatar/210849701af7002ec1074c3d2413749f [HTTP/2.0 304 Not Modified 53ms]
GET 
https://i.stack.imgur.com/yxD51.png [HTTP/1.1 304 Not Modified 59ms]
GET 
https://www.gravatar.com/avatar/0d1e9ff0945bdf0c66b9c33610bf2961 [HTTP/2.0 304 Not Modified 52ms]
GET 
https://i.stack.imgur.com/pX0Ho.jpg [HTTP/1.1 304 Not Modified 64ms]
GET 
https://i.stack.imgur.com/z21Fe.jpg [HTTP/1.1 304 Not Modified 63ms]
GET 
https://i.stack.imgur.com/a2FJQ.png [HTTP/1.1 304 Not Modified 70ms]
GET 
https://www.gravatar.com/avatar/c2b1989b07fa0729b669780ff3651b04 [HTTP/2.0 304 Not Modified 80ms]
GET 
https://www.gravatar.com/avatar/921c0a985c2c2ae7f64a76d17bf691d5 [HTTP/2.0 304 Not Modified 79ms]
GET 
https://www.gravatar.com/avatar/19623717c990a24ef0ae6486c0bfbef3 [HTTP/2.0 304 Not Modified 79ms]
GET 
https://www.gravatar.com/avatar/78dff053ebc39d2b62dd4aa32c256607 [HTTP/2.0 304 Not Modified 79ms]
GET 
https://www.gravatar.com/avatar/3f36e96fe935e4c0537ecdc527a43b25 [HTTP/2.0 304 Not Modified 78ms]
GET 
https://lh5.googleusercontent.com/-332g73eD8y8/AAAAAAAAAAI/AAAAAAAAAMs/R4ynYOn1jrc/photo.jpg [HTTP/2.0 304 Not Modified 71ms]
GET 
https://www.gravatar.com/avatar/a8a7ad36cd2dacfb50986e019d150bb8 [HTTP/2.0 304 Not Modified 78ms]
GET 
https://i.stack.imgur.com/W4Ip2.png [HTTP/1.1 304 Not Modified 74ms]
GET 
https://www.gravatar.com/avatar/339251ce3e514b07c355587ef216b95f [HTTP/2.0 304 Not Modified 77ms]
GET 
https://www.gravatar.com/avatar/646a1d7964f88fd9296f93e96c787c0a [HTTP/2.0 304 Not Modified 76ms]
GET 
https://www.gravatar.com/avatar/64aa7d1e0eb006175565adb0a47a4452 [HTTP/2.0 304 Not Modified 75ms]
GET 
https://i.stack.imgur.com/IVS5v.gif [HTTP/1.1 304 Not Modified 77ms]
GET 
https://lh6.googleusercontent.com/-TCfll-xz2KU/AAAAAAAAAAI/AAAAAAAAAH0/24G2UE1QnqU/photo.jpg [HTTP/2.0 304 Not Modified 75ms]
GET 
https://i.stack.imgur.com/ZMHzx.jpg [HTTP/1.1 304 Not Modified 83ms]
GET 
http://static.adzerk.net/ados.js [HTTP/1.1 304 Not Modified 95ms]
GET 
https://www.google-analytics.com/analytics.js [HTTP/2.0 304 Not Modified 82ms]
GET 
http://edge.quantserve.com/quant.js [HTTP/1.1 304 Not Modified 108ms]
GET 
http://cdn.sstatic.net/img/share-sprite-new.svg [HTTP/1.1 304 Not Modified 19ms]
GET 
http://cdn.sstatic.net/Sites/superuser/img/sprites.svg [HTTP/1.1 304 Not Modified 18ms]
GET 
http://cdn.sstatic.net/img/favicons-sprite16.png [HTTP/1.1 304 Not Modified 20ms]
GET 
https://i.stack.imgur.com/PVqCK.jpg [HTTP/1.1 304 Not Modified 30ms]
GET 
http://b.scorecardresearch.com/beacon.js [HTTP/1.1 200 OK 26ms]
XrayWrapper denied access to property "ready" (reason: value is callable). See https://developer.mozilla.org/en-US/docs/Xray_vision for more information. Note that only the first denied property access from a given global object will be reported.sox.common.js:18
GET 
http://cdn.sstatic.net/Js/full.en.js [HTTP/1.1 304 Not Modified 30ms]
SOX:  initializing SOX dialogsox.common.js:63:17
GET 
http://b.scorecardresearch.com/b [HTTP/1.1 204 No Content 20ms]
GET 
https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css [HTTP/2.0 304 Not Modified 16ms]
SOX:  injecting features into dialogsox.common.js:63:17
observe: .inbox-dialogsox.common.js:84:13
observe: .commentsox.common.js:84:13
SOX Access Token: SETsox.common.js:46:13
observe: #wmd-redo-buttonsox.common.js:84:13
observe: [id^="wmd-redo-button"]sox.common.js:84:13
observe: .image-upload formsox.common.js:84:13
Object { 142480: Object, 1120001: Object, 1120118: Object, 1120497: Object }sox.features.js:1468:13
Object {  }sox.features.js:1469:13
0sox.features.js:1470:13
Last Checked Time: 1472876518373sox.features.js:1555:21
SOX error: There was an error loading the feature "Unsorted-downvotedPostsEditAlert". Please raise an issue on GitHub, and copy the following error log:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON datasox.user.js:129:25

observe: .share-tipsox.common.js:84:13
GET 
https://www.google-analytics.com/collect [HTTP/2.0 200 OK 25ms]
GET 
http://pixel.quantserve.com/pixel;r=114655967;a=p-c1rF4kxgLUzNc;fpan=0;fpa=P0-1541000686-1462331864564;ns=0;ce=1;cm=;je=1;sr=1787x1005x24;enc=n;dst=1;et=1472876730767;tzo=240;ref=http%3A%2F%2Fsuperuser.com%2Fquestions;url=http%3A%2F%2Fsuperuser.com%2Fquestions;ogl=type.website%2Cimage.http%3A%2F%2Fcdn%252Esstatic%252Enet%2FSites%2Fsuperuser%2Fimg%2Fapple-touch-icon%402%252Epng%3Fv%3De869e4459439%2Ctitle.Recently%20Active%20Questions%2Cdescription.Q%26A%20for%20computer%20enthusiasts%20and%20power%20users%2Curl.http%3A%2F%2Fsuperuser%252Ecom%2Fquestions [HTTP/1.1 200 OK 53ms]
GET 
http://engine.adzerk.net/ados [HTTP/1.1 200 OK 46ms]
GET 
https://rawgit.com/shu8/SE-Answers_scripts/master/dupeClosedMigratedCSS.css [HTTP/2.0 304 Not Modified 35ms]
GET 
XHR 
https://query.yahooapis.com/v1/public/yql [HTTP/1.1 200 OK 111ms]
GET 
XHR 
https://api.stackexchange.com/2.2/questions [HTTP/1.1 200 OK 39ms]
GET 
XHR 
https://api.stackexchange.com/2.2/users/364367;242350;637025;270774;341338;510662;-1;286116;373245;486881;441207;136726;167207;21679;517391;102080;419383;637106;542362;277295;606191;559952;560638;234802;20006;637096;195972;94133;636634;73534;121352;637084;99868;17296;637082;388906;317323 [HTTP/1.1 200 OK 56ms]
GET 
XHR 
http://superuser.com/questions/1120034 [HTTP/1.1 301 Moved Permanently 45ms]
GET 
XHR 
https://api.stackexchange.com/users/ [HTTP/1.1 200 OK 66ms]
Object { items: Array[30], has_more: true, quota_max: 300, quota_remaining: 250 }sox.features.js:1823:17
GET 
http://static.adzerk.net/Extensions/adFeedback.js [HTTP/1.1 304 Not Modified 27ms]
GET 
http://static.adzerk.net/Extensions/adFeedback.css [HTTP/1.1 304 Not Modified 31ms]
GET 
http://qa.sockets.stackexchange.com/ [HTTP/1.1 101 Switching Protocols 50ms]
GET 
http://engine.adzerk.net/i.gif [HTTP/1.1 200 OK 50ms]
GET 
http://area51.stackexchange.com/ads/proposal/js [HTTP/1.1 200 OK 41ms]
GET 
XHR 
http://superuser.com/questions/1120034/configuring-multipleaccess-points-with-same-ssid [HTTP/1.1 200 OK 71ms]
GET 
https://qa.sockets.stackexchange.com/ [HTTP/1.1 101 Switching Protocols 78ms]
GET 
http://cdn.sstatic.net/area51/Img/bg-area51-ad-commitment.png [HTTP/1.1 304 Not Modified 20ms]
Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.jquery.min.js:3:6598

I noticed a message in the middle that there was an error loading this feature. It says to copy an error log. I don't know if that is the log, or there is something somewhere else you need.

After coming here to post this, additional content showed up in the console. Most is about github. A small portion looks like it could potentially be relevant:

GET 
XHR 
https://services.addons.mozilla.org/en-US/firefox/api/1.5/search/guid:%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D,%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D,e10srollout%40mozilla.org,firefox%40getpocket.com,loop%40mozilla.org [HTTP/1.1 200 OK 433ms]
POST 
http://ocsp.digicert.com/ [HTTP/1.1 200 OK 78ms]
GET 
XHR 
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php [HTTP/1.1 200 OK 379ms]
GET 
XHR 
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php [HTTP/1.1 200 OK 485ms]
GET 
XHR 
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php [HTTP/1.1 200 OK 298ms]
GET 
XHR 
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php [HTTP/1.1 200 OK 586ms]
GET 
XHR 
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php [HTTP/1.1 200 OK 207ms]
GET 
XHR 
https://rawgit.com/soscripted/sox/master/sox.user.js [HTTP/2.0 304 Not Modified 600ms]
POST 
http://ocsp.digicert.com/ [HTTP/1.1 200 OK 35ms]
1472876862948   addons.update-checker   WARN    Update manifest for {972ce4c6-7e08-4474-a285-3208198ce6fd} did not contain an updates property
1472876863138   addons.update-checker   WARN    Update manifest for firefox@getpocket.com did not contain an updates property
1472876863231   addons.update-checker   WARN    Update manifest for e10srollout@mozilla.org did not contain an updates property
GET 
XHR 
https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php [HTTP/1.1 200 OK 102ms]
GET 
XHR 
https://aus5.mozilla.org/update/3/SystemAddons/48.0.2/20160823121617/WINNT_x86-msvc-x64/en-US/release/Windows_NT%206.1.1.0%20(x64)/default/default/update.xml [HTTP/1.1 200 OK 343ms]
GET 
http://superuser.com/questions/1120497/how-to-colorize-cells-background-using-values-from-another-cells-in-openoffice [HTTP/1.1 200 OK 122ms]
When cancelling a request for http://cdn.sstatic.net/Sites/superuser/img/favicon.ico?v=29b26120d2c5 because the inner window was destroyed or a new favicon was loaded for it, it was already canceled!
PlacesUIUtils.jsm:109
GET 
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js [HTTP/1.1 304 Not Modified 56ms]
GET 
http://cdn.sstatic.net/Js/stub.en.js [HTTP/1.1 304 Not Modified 40ms]
GET 
http://cdn.sstatic.net/Sites/superuser/all.css [HTTP/1.1 304 Not Modified 46ms]
GET 
https://i.stack.imgur.com/DPd3M.jpg [HTTP/1.1 200 OK 38ms]
Warning: NetUtil.asyncFetch() requires the channel to have one of the security flags set in the loadinfo (see nsILoadInfo). Please create channel using NetUtil.newChannel()
GET 
https://i.stack.imgur.com/DPd3M.jpg [HTTP/1.1 304 Not Modified 23ms]
GET 
https://www.gravatar.com/avatar/e62d8d65ed2aa7b86bdc9890ef57a0da [HTTP/2.0 304 Not Modified 20ms]
GET 
http://cdn.sstatic.net/img/share-sprite-new.svg [HTTP/1.1 304 Not Modified 19ms]
GET 
http://cdn.sstatic.net/Sites/superuser/img/sprites.svg [HTTP/1.1 304 Not Modified 22ms]
GET 
http://cdn.sstatic.net/img/favicons-sprite16.png [HTTP/1.1 304 Not Modified 17ms]
The resource at "http://static.adzerk.net/ados.js" was blocked because tracking protection is enabled.[Learn More]how-to-colorize-cells-background-using-values-from-another-cells-in-openoffice
The resource at "https://www.google-analytics.com/analytics.js" was blocked because tracking protection is enabled.[Learn More]how-to-colorize-cells-background-using-values-from-another-cells-in-openoffice
The resource at "http://edge.quantserve.com/quant.js" was blocked because tracking protection is enabled.[Learn More]how-to-colorize-cells-background-using-values-from-another-cells-in-openoffice
The resource at "http://b.scorecardresearch.com/beacon.js" was blocked because tracking protection is enabled.[Learn More]how-to-colorize-cells-background-using-values-from-another-cells-in-openoffice
XrayWrapper denied access to property "ready" (reason: value is callable). See https://developer.mozilla.org/en-US/docs/Xray_vision for more information. Note that only the first denied property access from a given global object will be reported.sox.common.js:18
GET 
http://cdn.sstatic.net/Js/full.en.js [HTTP/1.1 304 Not Modified 21ms]
GET 
http://cdn.sstatic.net/Js/inline-tag-editing.en.js [HTTP/1.1 304 Not Modified 25ms]
SOX:  initializing SOX dialogsox.common.js:63:17
GET 
https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css [HTTP/2.0 304 Not Modified 19ms]
SOX:  injecting features into dialogsox.common.js:63:17
observe: .inbox-dialogsox.common.js:84:13
observe: .commentsox.common.js:84:13
SOX Access Token: SETsox.common.js:46:13
observe: #wmd-redo-button-1120497sox.common.js:84:13
observe: #wmd-redo-buttonsox.common.js:84:13
observe: [id^="wmd-redo-button"]sox.common.js:84:13
observe: .image-upload formsox.common.js:84:13
Object { 142480: Object, 1120001: Object, 1120118: Object, 1120497: Object }sox.features.js:1468:13
Object {  }sox.features.js:1469:13
0sox.features.js:1470:13
Last Checked Time: 1472876518373sox.features.js:1555:21
SOX error: There was an error loading the feature "Unsorted-downvotedPostsEditAlert". Please raise an issue on GitHub, and copy the following error log:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON datasox.user.js:129:25

observe: .share-tipsox.common.js:84:13
GET 
XHR 
https://query.yahooapis.com/v1/public/yql [HTTP/1.1 200 OK 212ms]
GET 
XHR 
https://api.stackexchange.com/2.2/users/364367;278537 [HTTP/1.1 200 OK 85ms]
GET 
XHR 
https://api.stackexchange.com/2.2/questions [HTTP/1.1 200 OK 83ms]
GET 
https://rawgit.com/shu8/SE-Answers_scripts/master/dupeClosedMigratedCSS.css [HTTP/2.0 304 Not Modified 35ms]
GET 
XHR 
http://superuser.com/posts/1120497/revisions [HTTP/1.1 200 OK 59ms]
GET 
XHR 
https://api.stackexchange.com/users/278537 [HTTP/1.1 200 OK 73ms]
"SOX editReasonTooltip URL: http://superuser.com/posts/1120497/revisions"sox.features.js:887:21
Object { context: <div#question.question>, length: 1, 1 more… }sox.features.js:888:21
SOX editReasonTooltip text: edited tagssox.features.js:889:21
Object { items: Array[1], has_more: false, quota_max: 300, quota_remaining: 248 }sox.features.js:1823:17
GET 
http://cdn.sstatic.net/Js/post-validation.en.js [HTTP/1.1 304 Not Modified 15ms]
GET 
http://cdn.sstatic.net/Js/external-editor.en.js [HTTP/1.1 304 Not Modified 20ms]
GET 
XHR 
http://superuser.com/posts/1120497/ivc/2d96 [HTTP/1.1 204 No Content 32ms]
GET 
http://qa.sockets.stackexchange.com/ [HTTP/1.1 101 Switching Protocols 51ms]
no element found2d96:1:1
The object cannot be linked to the inspector without a toolbox
console-output.js:3266
GET 
http://cdn.sstatic.net/Js/wmd.en.js [HTTP/1.1 304 Not Modified 17ms]
GET 
https://qa.sockets.stackexchange.com/ [HTTP/1.1 101 Switching Protocols 73ms]
Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.jquery.min.js:3:6598
fire: #wmd-redo-buttonsox.common.js:91:29
fire: [id^="wmd-redo-button"]sox.common.js:91:29
GET 
http://cdn.sstatic.net/Sites/superuser/img/wmd-buttons.svg [HTTP/1.1 304 Not Modified 16ms]
observe: .commentsox.common.js:84:13
fire: .commentsox.common.js:91:29
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON datasox.features.js:1526:29
GET 
XHR 
https://blocklist.addons.mozilla.org/blocklist/3/%7Bec8030f7-c20a-464f-9b0e-13a3a9e97384%7D/48.0.2/Firefox/20160823121617/WINNT_x86-msvc/en-US/release/Windows_NT%206.1/default/default/5/7/1/ [HTTP/1.1 200 OK 427ms]
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON datasox.features.js:1526:29

Since the feature wasn't loaded in SOX, I'll assume no test is going to work, so I'll hold off on Test 2.

Should I assume that the notification trigger happens only once, immediately after editing? For example, the other day, I set several posts to watch, but no notification showed up. It's now a day after the edits were performed. If I was to leave them set to watch, would the original notifications get generated at some future time when this feature is working?

BTW, I'm using a clean profile for running the test. The only extension is greasemonkey and the only user script is SOX.

shu8 commented 8 years ago

@fixer1234 Can you try clicking 'reset' in the SOX settings dialog and then doing all this again? You'll need to re-get your access token as well. I think it's erroring out because I made a change to the structure of the saved data, and its trying to read the old version which doesn't exist anymore...

fixer1234 commented 8 years ago

@shu8 I uninstalled the previous version, restarted Firefox, then installed v2.0.1L. Still think reset will help?

shu8 commented 8 years ago

It will definitely make a difference, because I don't think uninstalling the script removes the settings that the script saved, however I don't know whether it will fix the problem :/

On 3 Sep 2016 6:53 p.m., "fixer1234" notifications@github.com wrote:

@shu8 https://github.com/shu8 I uninstalled the previous version, restarted Firefox, then installed v2.0.1L. Still think reset will help?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/soscripted/sox/issues/98#issuecomment-244560527, or mute the thread https://github.com/notifications/unsubscribe-auth/AIcNjgy_C2MZ3ZWI-64Bj8eim-4So0Vuks5qmbQtgaJpZM4JjzDn .

fixer1234 commented 8 years ago

@shu8 I need to re-enter every setting, so it isn't saving much. :-) I'll give it a try.

fixer1234 commented 8 years ago

@shu8 I'm not sure reset is working. The only obvious action it triggered was to stick the word reset next to the search box at the top. None of the selections were changed, no new action to get a token, etc. Also tried reset followed by saving changes (no obvious effect). The feature is still in colored text with the pop-up tool tip that there was an error loading it.

shu8 commented 8 years ago

There should be a reset button at the bottom of the dialog as well, next to the save button

On 3 Sep 2016 7:06 p.m., "fixer1234" notifications@github.com wrote:

@shu8 https://github.com/shu8 I'm not sure reset is working. The only obvious action it triggered was to stick the word reset next to the search box at the top. None of the selections were changed, no new action to get a token, etc. Also tried reset followed by saving changes (no obvious effect). The feature is still in colored text with the pop-up tool tip that there was an error loading it.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/soscripted/sox/issues/98#issuecomment-244561280, or mute the thread https://github.com/notifications/unsubscribe-auth/AIcNjuI4VkBxHeXiqj2Kx0H0TS0Mxx14ks5qmbc1gaJpZM4JjzDn .

fixer1234 commented 8 years ago

Yup, that's the one.

fixer1234 commented 8 years ago

Should I post a bug report that the reset feature isn't working? :-)

mezmi commented 8 years ago

@shu8

Looks like there is some confusion here about how the settings are being stored.

When installing a UserScript the script manager (Tampermonkey or Greasemonkey) assigns a GUID to the script, all settings for the script are stored with this GUID in an SQLite database. So, a fresh install of the script should not be pulling old data from previous versions. The script only has access to its own settings.

shu8 commented 8 years ago

@enki-code hmm, ok...

BTW @enki-code and @fixer1234 everything over here's gone busy again with school starting again, so I might not be very active for the next few weeks :( Sorry!

fixer1234 commented 8 years ago

@shu8 Not clear what the status is on this one. It got closed with a note on #110 that the bug should be fixed, but I noticed a milestone of v2.0.2. Does that mean you don't expect this to work in this release?

I loaded v2.0.1 and tested this. No notification on four different questions after more than 3 hours. I think this is where things left off earlier. Should we restart diagnostics? Would a new console dump be useful? What procedure for testing as far as when to capture console contents?

There doesn't appear to be a reopen choice here. Should I post a fresh issue and start clean, given all the code changes you've made?

shu8 commented 8 years ago

it shouldn't be working in this version... still a few more bugs to iron out :( we'll need to restart diagnostics, but I don't have nearly as much time that I can do that in. Might have to wait a few weeks, I'm really sorry.

This wasn't meant to be closed, so I'll reopen it.

On 2 October 2016 at 05:33, fixer1234 notifications@github.com wrote:

@shu8 https://github.com/shu8 Not clear what the status is on this one. It got closed with a note on #110 https://github.com/soscripted/sox/pull/110 that the bug should be fixed, but I noticed a milestone of v2.0.2. Does that mean you don't expect this to work in this release?

I loaded v2.0.1 and tested this. No notification on four different questions after more than 3 hours. I think this is where things left off earlier. Should we restart diagnostics? Would a new console dump be useful? What procedure for testing as far as when to capture console contents?

There doesn't appear to be a reopen choice here. Should I post a fresh issue and start clean, given all the code changes you've made?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/soscripted/sox/issues/98#issuecomment-250953161, or mute the thread https://github.com/notifications/unsubscribe-auth/AIcNjln_rXzLLXG-a7MgwHpoFMI5ShEqks5qvzQagaJpZM4JjzDn .

shu8 commented 8 years ago

@fixer1234 just to update you on this... I've got the live part completely working (AFAIK) now, but the whole API-checking part is still broken. I'm trying to get this fixed ASAP, hopefully within the next 2 or so weeks! :)

sorry to keep you waiting!! 😞

shu8 commented 8 years ago

@fixer1234 OK... this should be fixed in the latest dev version e.

Here's how it should work:

Here's an example/scenario with the 2 cases:

I hope this explains how it should work, and I hope it does work that way.

Please could you test if it works for you? :)

fixer1234 commented 8 years ago

@shu8 Great news. I'm worn out from installing several successive versions, but I'll load the new one when I get a second wind. :-)

Question: it isn't clear why there are two notifications, and what happens to the live one. If you can trigger an immediate notification, why not just make that the notification, and leave it there for whenever the user sees it?

What happens to the live notification? The description implies that it appears for only a limited time. So say I'm in the middle of something and catch that an alert has been posted. By the time I'm free to deal with it, might it be gone (and after close to 15 minutes it will show up again)?

On the Non-live notification, Is SOX collecting actions as they happen over a 15 minute period and waiting to display them, or every 15 minutes it checks for actions and reports anything that happened within the last 15 minute window, or the 15 minutes is some type of delay between each action and when that action is reported?

BTW, if you leave, have dinner, and get back on the computer in 13 minutes, you should take more time and savor the meal. :-)

shu8 commented 8 years ago

All notifications, no matter which type, remain in the inbox until they are manually deleted.

There are 2 notifications because the live notification only works in certain cases (when the edit happens when you are on a site) but the 15 minute one works even when a page isn't open.

Also, it checks every 15 minutes.

fixer1234 commented 8 years ago

@shu8 Interesting. So if an edit happens while the user isn't logged into an SE site, they find one notification. If they're logged into a site when the edit happens, they get two? A future feature might be to have any live notification suppress a second, non-live one. Just an idea for another day. Thanks. I'll get on this and test later today.

shu8 commented 8 years ago

No that shouldn't happen. You should only get 1 notification if an edit happens while you are on the site because the other notification only comes after 15 minutes so it won't get triggered repeatedly

fixer1234 commented 8 years ago

@shu8 Initial tests:

Things I haven't tested yet:

shu8 commented 8 years ago

I think the easiest way to fix bullets 3, 4, 5, 6 and 8 would be to separate the inbox with this feature, and make a new dialog box solely for this feature's notifications, similar to the mod-diamond (new meta questions) feature and the SOX's own cogs dialog.

How does that sound? And also, do you have any ideas on what the button image could be for the dialog? (ie. instead of cogs/mod diamond)... preferably an icon that's on this page... :)


I'll get the other bugs fixed soon :)

fixer1234 commented 8 years ago

@shu8 Clever solution. Icon? What jumps to mind would be one of these (no particular order):

su pencil su edit su bell su bell1 su check su check1 su hand su star su thumbtack su filetext su filetext1

shu8 commented 8 years ago

hmm I quite like the edit one... I think I'll go with that one :) I'll hopefully get this done in the next few days

On 1 November 2016 at 16:56, fixer1234 notifications@github.com wrote:

@shu8 https://github.com/shu8 Clever solution. Icon? What jumps to mind would be one of these (no particular order):

[image: su pencil] https://cloud.githubusercontent.com/assets/10065766/19898322/fdb48734-a031-11e6-8c75-92b5f7257169.png [image: su edit] https://cloud.githubusercontent.com/assets/10065766/19898335/0cab7996-a032-11e6-9228-28692a820a2d.png [image: su bell] https://cloud.githubusercontent.com/assets/10065766/19898365/2396028e-a032-11e6-96ee-62357236cca7.png [image: su bell1] https://cloud.githubusercontent.com/assets/10065766/19898386/2eb68238-a032-11e6-8a89-dcd9eda2d343.png [image: su check] https://cloud.githubusercontent.com/assets/10065766/19898400/3bf72b78-a032-11e6-891e-9aa4ba3e515c.png [image: su check1] https://cloud.githubusercontent.com/assets/10065766/19898412/44b385e0-a032-11e6-9426-cdfbb1810ecc.png [image: su hand] https://cloud.githubusercontent.com/assets/10065766/19898423/4d3f24c6-a032-11e6-82c5-4fd9855ad548.png [image: su star] https://cloud.githubusercontent.com/assets/10065766/19898435/54b99e7a-a032-11e6-9330-e6c98827814d.png [image: su thumbtack] https://cloud.githubusercontent.com/assets/10065766/19898443/5c6ddc9e-a032-11e6-97dd-22fa4544c86b.png [image: su filetext] https://cloud.githubusercontent.com/assets/10065766/19898450/6538d824-a032-11e6-8d26-e3332dc0226f.png [image: su filetext1] https://cloud.githubusercontent.com/assets/10065766/19898460/6d3c6f68-a032-11e6-8489-90b8fe48a30f.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/soscripted/sox/issues/98#issuecomment-257622736, or mute the thread https://github.com/notifications/unsubscribe-auth/AIcNjhWfw2DVRRUQ27-YT9T4YvWGaazJks5q528ggaJpZM4JjzDn .

shu8 commented 8 years ago

@fixer1234 this is done in the latest dev version g.

It now has its own dialog solely for notifications from this feature.

As you'll see, the notification itself is pretty empty right now. Any ideas on what extra useful information can be added?


Regarding bullet 2: that shouldn't happen. No refreshes should be needed, so please tell me if that happens again in the new version.

There's no notification number now; the button simply glows red if there are unread notifications.

Live and non-live notifications work in exactly the same way

fixer1234 commented 8 years ago

@shu8 This feature is really coming along. I did just a preliminary check. I watched a question, edited it, and later found the notification in the new box. So the basic functionality is working.

I later watched an answer and edited it. It was added to the notification box, but only after I refreshed the page.

I can't verify what went on with the notification icon because I'm colorblind; if the icons is glowing red, I'd never know. Bright blue, like you use for the Mod diamond would be more visible.

I ran into an apparent bug, but I'll need to investigate more. The answer that I edited was later edited by the OP (~30 minutes later), and then I edited it again ~10 minutes after that. After my last edit, and refreshing the page, there were two notifications in the box. A few minutes later, there were five or six. After I refreshed the page again, there was only one. So there's apparently some lag for the live notification, and it's hard to tell if some of this might have been non-live notifications that doubled what was there and was then cleaned up. The notifications might have been affected by the fact that the box was viewed.

I just checked back about an hour after the last edit. Some time, probably in the last few minutes, another notification was added for the same post. This one has [API] after the title. I didn't catch whether any of the 5 or 6 that were briefly present earlier had [API]. After adding this update, I checked again, and the [API] notification is gone.

But it points out a design consideration. Sometimes, posts get multiple edits by multiple people, and the user may check the box in the middle of this process. Even with a visible icon, just the post title won't really be enough for the user to know whether they need to check the post again (whether or not they've seen the latest edit), and automated cleanup to leave only one entry may cause confusion.

A better design would be to have one notification per edit (don't know if this would complicate the design if you base the non-live notification on just the post, rather than the specific edit), and don't do any automated cleanup; let the user delete notifications no longer needed.

People often do edits in multiple passes (edit + cleanup edits), so it would probably be adequate granularity to use post + editor, and add a notification only if the new post + editor isn't the same as the post + editor of the most recent notification for that post (there could be notifications for multiple posts, so the check should be post-specific).

I'll do some testing and report back. And I'll think about additional info that could be useful.

A few initial thoughts.

fixer1234 commented 8 years ago

@shu8 Very minor bug discovered with this feature. The new message box is open when opening the SU chat room selection page (http://chat.stackexchange.com/?tab=site&host=superuser.com). It covers parts of 4 chat rooms, so it has to be closed to use the page. So far, that's the only page I've seen the symptom on.

su chatrooms