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

Generalize "notify on edit" to "notify on any change" #215

Closed wgrundlingh closed 6 years ago

wgrundlingh commented 7 years ago

Edit by @shu8: this was rejected in SOX but has now been implemented as a separate browser extension which can be found at Stack Apps.


Current Behaviour

I enjoy the suggested "notify on edit" option at the bottom of every question:

image

This adds posts to the "edit list":

image

Is it possible to make this more general to keep track of any changes? These would include edits, retags, reviews (like vote-to-close), community bumps, comments on and/or answers to? Others?


SOX Errors logged to the browser console -- F12 (if available)


Steps to reproduce


Features Enabled

["Appearance-addAuthorNameToInboxNotifications","Appearance-alignBadgesByClass","Appearance-answerTagsSearch","Appearance-colorAnswerer","Appearance-fixedTopbar","Appearance-highlightQuestions","Appearance-isQuestionHot","Appearance-markEmployees","Appearance-scrollToTop","Appearance-spoilerTip","Appearance-standOutDupeCloseMigrated","Appearance-tabularReviewerStats","Appearance-topAnswers","Appearance-unspoil","Comments-autoShowCommentImages","Comments-commentReplies","Comments-commentShortcuts","Comments-confirmNavigateAway","Comments-copyCommentsLink","Comments-moveBounty","Comments-showCommentScores","Comments-hiddenCommentsIndicator","Editing-addSBSBtn","Editing-editComment","Editing-editReasonTooltip","Editing-enhancedEditor","Editing-kbdAndBullets","Editing-titleEditDiff","Editing-inlineEditorEverywhere","Editing-downvotedPostsEditAlert","Flags-flagOutcomeTime","Flags-flagPercentages","Flags-flagPercentageBar","Sidebar-hideHireMe","Sidebar-linkedToFrom","Chat-chatEasyAccess","Chat-renameChat","Voting-betterCSS","Voting-grayOutVotes","Voting-stickyVoteButtons","Voting-disableOwnPostVoteButtons","Extras-linkedPostsInline","Extras-parseCrossSiteLinks","Extras-quickAuthorInfo","Extras-shareLinksMarkdown","Extras-showMetaReviewCount"]
shu8 commented 7 years ago

@wgrundlingh sorry for the time this is taking! Please could you install this version and try watching a few posts? Most of the extra things should be there now (Q/A indicator, post score, event time, etc..) -- please could you see if it works for you? :)


@fixer1234 ok... I have no idea why it seems to work at random times for you. We can rule out throttling as an issue because that link you clicked returned the expected data... There's definitely something blocking the request at random times. I just checked on my FF installation and it works.

What's even weirder is the script has the correct URL in mind...:

getting from API with URL: "http://api.stackexchange.com/2.2/questions/1181446?site=superuser&filter=!SCam31W85iAdF11znRBpj2qWFPRJV_*8fTZTOPnclcMRL3Dxjmxr-5DJdNc07fPo" editAlert.js:277

but then the URL is completely chopped and the following is requested:

http://api.stackexchange.com/2.2/questions/1181446 [HTTP/1.1 400 Bad Request 63ms]

Something's wrong... :(

fixer1234 commented 7 years ago

@shu8 Just a thought about your assumption that it can't be throttling. I checked the URL a day after the problem. Are you sure it couldn't be a case that it was throttled at the time of the problem, and the throttle was lifted by the time I checked the URL?

shu8 commented 7 years ago

Hmm ok, that's fair enough... It could be throttling then. However it still doesn't explain the URL changing from the script requesting it and the browser performing it! :/

Can you just keep on checking these bad request URLs please and post both the URL and the response of any URLs you check? :)

On 25 Feb 2017 23:15, "fixer1234" notifications@github.com wrote:

@shu8 https://github.com/shu8 Just a thought about your assumption that it can't be throttling. I checked the URL a day after the problem. Are you sure it couldn't be a case that it was throttled at the time of the problem, and the throttle was lifted by the time I checked the URL?

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

mezmi commented 7 years ago

@shu8 Maybe we should display some sort of notification on screen when requests are being throttled. Or change the COGS icon to red or something.

fixer1234 commented 7 years ago

@shu8 I just reinstalled the script and then refreshed a page. Nine notifications immediately showed up from many days ago. I unwatched those watched a few new posts, and additional notifications showed up.

The connection to wss://qa.sockets.stackexchange.com/ was interrupted while the page was loading. full.en.js:1:6917
GET 
http://english.stackexchange.com/questions/375547/which-word-in-the-question-what-is-it-is-stressed-in-normal-conversation-and [HTTP/1.1 200 OK 57ms]
GET 
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js [HTTP/2.0 304 Not Modified 80ms]
GET 
https://cdn.sstatic.net/Js/stub.en.js [HTTP/2.0 304 Not Modified 118ms]
GET 
https://cdn.sstatic.net/Sites/english/all.css [HTTP/2.0 304 Not Modified 114ms]
GET 
https://cdn.sstatic.net/Sites/english/img/bg-site.jpg [HTTP/2.0 200 OK 15ms]
GET 
https://cdn.sstatic.net/Sites/english/img/sprites.svg [HTTP/2.0 200 OK 34ms]
GET 
https://cdn.sstatic.net/Sites/english/img/logo.svg [HTTP/2.0 200 OK 37ms]
GET 
https://cdn.sstatic.net/Sites/english/img/sprites-extra.svg [HTTP/2.0 200 OK 28ms]
GET 
https://cdn.sstatic.net/Sites/english/img/bg-footer.jpg [HTTP/2.0 200 OK 14ms]
GET 
https://cdn.sstatic.net/Sites/english/img/bg-top.png [HTTP/2.0 304 Not Modified 15ms]
GET 
https://i.stack.imgur.com/DPd3M.jpg [HTTP/1.1 304 Not Modified 30ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 107ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 69ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 69ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 84ms]
GET 
https://cdn.sstatic.net/img/share-sprite-new.svg [HTTP/2.0 304 Not Modified 10ms]
GET 
https://cdn.sstatic.net/img/favicons-sprite16.png [HTTP/2.0 304 Not Modified 10ms]
running editAlert.js editAlert.js:7:5
postsToWatch Array [  ] editAlert.js:171:5
commentsToWatch Array [ Object, Object, Object, Object, Object ] editAlert.js:172:5
throttled Object { throttled: false } editAlert.js:173:5
notifications Array [ Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, 2 more… ] editAlert.js:174:5
looping saved notifications. currently on: Object { sitename: "superuser", link: "http://superuser.com/a/212335", editComment: "The previously referenced URL is no…", editDate: 1486281482, originalPostId: "212335" } editAlert.js:311:13
adding notification with details: Object { sitename: "superuser", link: "http://superuser.com/a/212335", editComment: "The previously referenced URL is no…", editDate: 1486281482, originalPostId: "212335" } editAlert.js:81:9
added saved notification: Object { sitename: "superuser", link: "http://superuser.com/a/212335", editComment: "The previously referenced URL is no…", editDate: 1486281482, originalPostId: "212335" } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "ell", title: "'of' or 'for' in th…", newLink: "http://ell.stackexchange.com/questi…", newScore: 2, newAnswerCount: 1, creationDate: 1487551458, originalPostId: "120009", postType: "question" } editAlert.js:311:13
adding notification with details: Object { sitename: "ell", title: "'of' or 'for' in th…", newLink: "http://ell.stackexchange.com/questi…", newScore: 2, newAnswerCount: 1, creationDate: 1487551458, originalPostId: "120009", postType: "question" } editAlert.js:81:9
added saved notification: Object { sitename: "ell", title: "'of' or 'for' in th…", newLink: "http://ell.stackexchange.com/questi…", newScore: 2, newAnswerCount: 1, creationDate: 1487551458, originalPostId: "120009", postType: "question" } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "ell", title: "'of' or 'for' in th…", newLink: "http://ell.stackexchange.com/questi…", newScore: 2, newAnswerCount: 1, creationDate: 1487551458, originalPostId: "120009" } editAlert.js:311:13
adding notification with details: Object { sitename: "ell", title: "'of' or 'for' in th…", newLink: "http://ell.stackexchange.com/questi…", newScore: 2, newAnswerCount: 1, creationDate: 1487551458, originalPostId: "120009" } editAlert.js:81:9
added saved notification: Object { sitename: "ell", title: "'of' or 'for' in th…", newLink: "http://ell.stackexchange.com/questi…", newScore: 2, newAnswerCount: 1, creationDate: 1487551458, originalPostId: "120009" } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "superuser", link: "http://superuser.com/a/426015", editComment: "replaced replacement link with arch…", editDate: 1487583923, originalPostId: "426015" } editAlert.js:311:13
adding notification with details: Object { sitename: "superuser", link: "http://superuser.com/a/426015", editComment: "replaced replacement link with arch…", editDate: 1487583923, originalPostId: "426015" } editAlert.js:81:9
added saved notification: Object { sitename: "superuser", link: "http://superuser.com/a/426015", editComment: "replaced replacement link with arch…", editDate: 1487583923, originalPostId: "426015" } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "english", link: "http://english.stackexchange.com/a/…", editComment: "𝙽𝚎𝚟&#120462…", editDate: 1487650659, originalPostId: "374539" } editAlert.js:311:13
adding notification with details: Object { sitename: "english", link: "http://english.stackexchange.com/a/…", editComment: "𝙽𝚎𝚟&#120462…", editDate: 1487650659, originalPostId: "374539" } editAlert.js:81:9
added saved notification: Object { sitename: "english", link: "http://english.stackexchange.com/a/…", editComment: "𝙽𝚎𝚟&#120462…", editDate: 1487650659, originalPostId: "374539" } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "superuser", postId: "1175410", commentBody: "<a href="https://i.imgsafe.org/94eb…", commentsLink: "http://superuser.com/q/1175410#comm…", newCommentsCount: 3, originalPostId: "1175410", title: "Can one Molex power cable power a 1…", creationDate: 1486442362 } editAlert.js:311:13
adding notification with details: Object { sitename: "superuser", postId: "1175410", commentBody: "<a href="https://i.imgsafe.org/94eb…", commentsLink: "http://superuser.com/q/1175410#comm…", newCommentsCount: 3, originalPostId: "1175410", title: "Can one Molex power cable power a 1…", creationDate: 1486442362 } editAlert.js:81:9
added saved notification: Object { sitename: "superuser", postId: "1175410", commentBody: "<a href="https://i.imgsafe.org/94eb…", commentsLink: "http://superuser.com/q/1175410#comm…", newCommentsCount: 3, originalPostId: "1175410", title: "Can one Molex power cable power a 1…", creationDate: 1486442362 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "ell", postId: "120009", commentBody: "The expression is <i>a way of sayin…", commentsLink: "http://ell.stackexchange.com/q/1200…", newCommentsCount: 1, originalPostId: "120009", title: "'of' or 'for' in this sentence", creationDate: 1487553664 } editAlert.js:311:13
adding notification with details: Object { sitename: "ell", postId: "120009", commentBody: "The expression is <i>a way of sayin…", commentsLink: "http://ell.stackexchange.com/q/1200…", newCommentsCount: 1, originalPostId: "120009", title: "'of' or 'for' in this sentence", creationDate: 1487553664 } editAlert.js:81:9
added saved notification: Object { sitename: "ell", postId: "120009", commentBody: "The expression is <i>a way of sayin…", commentsLink: "http://ell.stackexchange.com/q/1200…", newCommentsCount: 1, originalPostId: "120009", title: "'of' or 'for' in this sentence", creationDate: 1487553664 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "english", postId: "374529", commentBody: "@user221278 Is your question really…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 10, originalPostId: "374529", title: "Can we hear laugh?", creationDate: 1487598444 } editAlert.js:311:13
adding notification with details: Object { sitename: "english", postId: "374529", commentBody: "@user221278 Is your question really…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 10, originalPostId: "374529", title: "Can we hear laugh?", creationDate: 1487598444 } editAlert.js:81:9
added saved notification: Object { sitename: "english", postId: "374529", commentBody: "@user221278 Is your question really…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 10, originalPostId: "374529", title: "Can we hear laugh?", creationDate: 1487598444 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "english", postId: "374539", commentBody: "If you want to include any of the m…", commentsLink: "http://english.stackexchange.com/a/…", newCommentsCount: 11, originalPostId: "374539", title: "Can we hear laugh?", creationDate: 1487588824 } editAlert.js:311:13
adding notification with details: Object { sitename: "english", postId: "374539", commentBody: "If you want to include any of the m…", commentsLink: "http://english.stackexchange.com/a/…", newCommentsCount: 11, originalPostId: "374539", title: "Can we hear laugh?", creationDate: 1487588824 } editAlert.js:81:9
added saved notification: Object { sitename: "english", postId: "374539", commentBody: "If you want to include any of the m…", commentsLink: "http://english.stackexchange.com/a/…", newCommentsCount: 11, originalPostId: "374539", title: "Can we hear laugh?", creationDate: 1487588824 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "english", postId: "375516", commentBody: "The word &#39;complement&#39; is us…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 1, originalPostId: "375516", title: "I consider him to be - pattern?", creationDate: 1488071408 } editAlert.js:311:13
adding notification with details: Object { sitename: "english", postId: "375516", commentBody: "The word &#39;complement&#39; is us…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 1, originalPostId: "375516", title: "I consider him to be - pattern?", creationDate: 1488071408 } editAlert.js:81:9
added saved notification: Object { sitename: "english", postId: "375516", commentBody: "The word &#39;complement&#39; is us…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 1, originalPostId: "375516", title: "I consider him to be - pattern?", creationDate: 1488071408 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "ell", postId: "120636", commentBody: "&quot;Going&quot; in this case does…", commentsLink: "http://ell.stackexchange.com/q/1206…", newCommentsCount: 7, originalPostId: "120636", title: "is the train moving now? or it is g…", creationDate: 1488071387 } editAlert.js:311:13
adding notification with details: Object { sitename: "ell", postId: "120636", commentBody: "&quot;Going&quot; in this case does…", commentsLink: "http://ell.stackexchange.com/q/1206…", newCommentsCount: 7, originalPostId: "120636", title: "is the train moving now? or it is g…", creationDate: 1488071387 } editAlert.js:81:9
added saved notification: Object { sitename: "ell", postId: "120636", commentBody: "&quot;Going&quot; in this case does…", commentsLink: "http://ell.stackexchange.com/q/1206…", newCommentsCount: 7, originalPostId: "120636", title: "is the train moving now? or it is g…", creationDate: 1488071387 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "english", postId: "375517", commentBody: "You want a single word for a attemp…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 2, originalPostId: "375517", title: "Singular word request: Word that me…", creationDate: 1488074791 } editAlert.js:311:13
adding notification with details: Object { sitename: "english", postId: "375517", commentBody: "You want a single word for a attemp…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 2, originalPostId: "375517", title: "Singular word request: Word that me…", creationDate: 1488074791 } editAlert.js:81:9
added saved notification: Object { sitename: "english", postId: "375517", commentBody: "You want a single word for a attemp…", commentsLink: "http://english.stackexchange.com/q/…", newCommentsCount: 2, originalPostId: "375517", title: "Singular word request: Word that me…", creationDate: 1488074791 } editAlert.js:314:21
about to start looping commentsToWatch: Array [ Object, Object, Object, Object, Object ] editAlert.js:524:9
looping commentsToWatch. currently on: Object { postId: "374528", title: "is hole synonymous of entire?", sitename: "english", lastCheckedTime: 1488093054818, lastCheckedCommentIds: Array[0] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "374528", title: "is hole synonymous of entire?", sitename: "english", lastCheckedTime: 1488093054818, lastCheckedCommentIds: Array[0] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/374528/comments?filter=!*K)GSjDWh5AAh)g(&site=english" editAlert.js:293:9
GET 
https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css [HTTP/2.0 304 Not Modified 54ms]
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ jquery-2.1.4.min.js:4:14346
GET 
XHR 
http://api.stackexchange.com/2.2/posts/374528/comments [HTTP/1.1 400 Bad Request 22ms]
looping commentsToWatch. currently on: Object { postId: "120636", title: "is the train moving now? or it is g…", sitename: "ell", lastCheckedTime: 1488093055202, lastCheckedCommentIds: Array[7] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "120636", title: "is the train moving now? or it is g…", sitename: "ell", lastCheckedTime: 1488093055202, lastCheckedCommentIds: Array[7] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/120636/comments?filter=!*K)GSjDWh5AAh)g(&site=ell" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/120636/comments [HTTP/1.1 400 Bad Request 24ms]
looping commentsToWatch. currently on: Object { postId: "1182832", title: "", sitename: "superuser", lastCheckedTime: 1488086786345, lastCheckedCommentIds: Array[1] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "1182832", title: "", sitename: "superuser", lastCheckedTime: 1488086786345, lastCheckedCommentIds: Array[1] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/1182832/comments?filter=!*K)GSjDWh5AAh)g(&site=superuser" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/1182832/comments [HTTP/1.1 400 Bad Request 25ms]
looping commentsToWatch. currently on: Object { postId: "375548", title: "A word meaning a person who does so…", sitename: "english", lastCheckedTime: 1488095189535, lastCheckedCommentIds: Array[0] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "375548", title: "A word meaning a person who does so…", sitename: "english", lastCheckedTime: 1488095189535, lastCheckedCommentIds: Array[0] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/375548/comments?filter=!*K)GSjDWh5AAh)g(&site=english" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/375548/comments [HTTP/1.1 400 Bad Request 23ms]
looping commentsToWatch. currently on: Object { postId: "375547", title: "Which word in the question “What is…", sitename: "english", lastCheckedTime: 1488095250312, lastCheckedCommentIds: Array[0] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "375547", title: "Which word in the question “What is…", sitename: "english", lastCheckedTime: 1488095250312, lastCheckedCommentIds: Array[0] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/375547/comments?filter=!*K)GSjDWh5AAh)g(&site=english" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/375547/comments [HTTP/1.1 400 Bad Request 24ms]
GET 
https://cdn.sstatic.net/Js/full.en.js [HTTP/2.0 304 Not Modified 10ms]
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:72:0
SOX:  inlineEditorEverywhere error: sox.Stack.using not found sox.common.js:28:13
GET 
XHR 
https://api.stackexchange.com/2.2/questions [HTTP/1.1 400 Bad Request 32ms]
GET 
https://rawgit.com/shu8/SE-Answers_scripts/master/dupeClosedMigratedCSS.css [HTTP/2.0 304 Not Modified 97ms]
GET 
XHR 
https://api.stackexchange.com/2.2/users/222399 [HTTP/1.1 200 OK 30ms]
GET 
XHR 
https://query.yahooapis.com/v1/public/yql [HTTP/2.0 200 OK 168ms]
GET 
XHR 
https://api.stackexchange.com/2.2/users/222399;94160 [HTTP/1.1 200 OK 31ms]
vwof plugin, exception in ScreenWaveMedia: TypeError: video_data is undefined vwof.js:67:0
GET 
https://cdn.sstatic.net/Js/post-validation.en.js [HTTP/2.0 304 Not Modified 13ms]
GET 
https://cdn.sstatic.net/Js/external-editor.en.js [HTTP/2.0 304 Not Modified 21ms]
GET 
XHR 
http://english.stackexchange.com/posts/375547/ivc/ae09 [HTTP/1.1 204 No Content 22ms]
GET 
https://cdn.sstatic.net/Js/wmd.en.js [HTTP/2.0 304 Not Modified 13ms]
GET 
https://qa.sockets.stackexchange.com/ [HTTP/1.1 101 Switching Protocols 139ms]
GET 
https://cdn.sstatic.net/Sites/english/img/wmd-buttons.svg [HTTP/2.0 304 Not Modified 11ms]
GET 
XHR 
https://l.ghostery.com/api/page/ [HTTP/1.1 204 No Content 18ms]
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create panel.js:5816:3
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ panel.js:3525:3

Bad request URLs:

https://api.stackexchange.com/2.2/questions http://api.stackexchange.com/2.2/posts/375547/comments http://api.stackexchange.com/2.2/posts/375548/comments http://api.stackexchange.com/2.2/posts/1182832/comments http://api.stackexchange.com/2.2/posts/120636/comments http://api.stackexchange.com/2.2/posts/374528/comments All produced: {"error_id":400,"error_message":"site is required","error_name":"bad_parameter"}

shu8 commented 7 years ago

@fixer1234 ARGH I don't know what's wrong :(

You're getting the 9 notifications because the script saves previous ones, so they're always added (or should be)...

By edit notifications, do you mean new comments? Because you don't actually have any 'watched' posts... only comments, and all of those are BAD REQUESTS.

Also, the undefined issue is because the saved notifications are from an older version where this bug wasn't fixed.

Try completely uninstalling the script, and then installing a fresh version...

fixer1234 commented 7 years ago

@shu8 By "edit" notifications, I mean notifications of edits to posts (the ones where the action label is "edit"). All of the edit notifications I referred to were, indeed, old watches. All of the new notifications were of comments. I don't recall if any of the notifications that failed to be posted were of things other than comments.

The procedure I used was to remove the old script on the add-ons page, and then install the new script. It sounds like that sequence leaves some of the old baggage. I'll try removing the script, then restarting Firefox, then installing the new script. Restarting after removal should hopefully leave the residual stuff behind.

fixer1234 commented 7 years ago

@shu8 OK, I removed the script, restarted FF, and reloaded the script. None of the old notifications showed up, so it looks like this cleaned out the remnants.

I'll dump some more console output to see if it sheds light on this experience.

The connection to wss://qa.sockets.stackexchange.com/ was interrupted while the page was loading. full.en.js:1:6917
GET 
http://superuser.com/questions/1183099/is-this-laptop-worth-repairing#comments-1183099 [HTTP/1.1 200 OK 57ms]
GET 
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js [HTTP/2.0 304 Not Modified 15ms]
GET 
https://cdn.sstatic.net/Js/stub.en.js [HTTP/2.0 304 Not Modified 10ms]
GET 
https://cdn.sstatic.net/Sites/superuser/all.css [HTTP/2.0 304 Not Modified 10ms]
GET 
https://www.gravatar.com/avatar/cacacd1626977b7ced7702ebe4579d75 [HTTP/2.0 304 Not Modified 11ms]
GET 
http://static.adzerk.net/ados.js [HTTP/1.1 304 Not Modified 34ms]
GET 
https://www.google-analytics.com/analytics.js [HTTP/2.0 304 Not Modified 28ms]
GET 
http://edge.quantserve.com/quant.js [HTTP/1.1 304 Not Modified 47ms]
GET 
http://b.scorecardresearch.com/beacon.js [HTTP/1.1 200 OK 30ms]
GET 
https://i.stack.imgur.com/DPd3M.jpg [HTTP/1.1 304 Not Modified 34ms]
GET 
http://b.scorecardresearch.com/b [HTTP/1.1 204 No Content 16ms]
GET 
https://cdn.sstatic.net/img/share-sprite-new.svg [HTTP/2.0 304 Not Modified 10ms]
GET 
https://cdn.sstatic.net/Sites/superuser/img/sprites.svg [HTTP/2.0 304 Not Modified 12ms]
GET 
https://cdn.sstatic.net/img/favicons-sprite16.png [HTTP/2.0 304 Not Modified 13ms]
running editAlert.js editAlert.js:7:5
postsToWatch Array [ Object, Object, Object, Object, Object ] editAlert.js:171:5
commentsToWatch Array [ Object, Object, Object ] editAlert.js:172:5
throttled Object { throttled: false } editAlert.js:173:5
notifications Array [ Object, Object ] editAlert.js:174:5
looping saved notifications. currently on: Object { sitename: "superuser", postId: "1183099", commentBody: "<i>&quot;my motherboard shorted out…", commentsLink: "http://superuser.com/q/1183099#comm…", newCommentsCount: 4, originalPostId: "1183099", title: "Is this laptop worth repairing? [on…", creationDate: 1488157971 } editAlert.js:311:13
adding notification with details: Object { sitename: "superuser", postId: "1183099", commentBody: "<i>&quot;my motherboard shorted out…", commentsLink: "http://superuser.com/q/1183099#comm…", newCommentsCount: 4, originalPostId: "1183099", title: "Is this laptop worth repairing? [on…", creationDate: 1488157971 } editAlert.js:81:9
added saved notification: Object { sitename: "superuser", postId: "1183099", commentBody: "<i>&quot;my motherboard shorted out…", commentsLink: "http://superuser.com/q/1183099#comm…", newCommentsCount: 4, originalPostId: "1183099", title: "Is this laptop worth repairing? [on…", creationDate: 1488157971 } editAlert.js:314:21
looping saved notifications. currently on: Object { sitename: "ell", postId: "120777", commentBody: "So please have a look at it is not …", commentsLink: "http://ell.stackexchange.com/q/1207…", newCommentsCount: 2, originalPostId: "120777", title: "'Have a look at it' or 'take a look…", creationDate: 1488157194 } editAlert.js:311:13
adding notification with details: Object { sitename: "ell", postId: "120777", commentBody: "So please have a look at it is not …", commentsLink: "http://ell.stackexchange.com/q/1207…", newCommentsCount: 2, originalPostId: "120777", title: "'Have a look at it' or 'take a look…", creationDate: 1488157194 } editAlert.js:81:9
added saved notification: Object { sitename: "ell", postId: "120777", commentBody: "So please have a look at it is not …", commentsLink: "http://ell.stackexchange.com/q/1207…", newCommentsCount: 2, originalPostId: "120777", title: "'Have a look at it' or 'take a look…", creationDate: 1488157194 } editAlert.js:314:21
about to start looping postsToWatch: Array [ Object, Object, Object, Object, Object ] editAlert.js:321:9
looping postsToWatch. currently on: Object { type: "question", postId: "1183032", sitename: "superuser", lastCheckedTime: 1488166698348, options: Array[2], lastCheckedState: "open" } editAlert.js:323:13
Been more than 15 (or 10) minutes since checking post. Doing API request for Object { type: "question", postId: "1183032", sitename: "superuser", lastCheckedTime: 1488166698348, options: Array[2], lastCheckedState: "open" } editAlert.js:345:17
getting from API with URL:  "http://api.stackexchange.com/2.2/questions/1183032?site=superuser&filter=!SCam31W85iAdF11znRBpj2qWFPRJV_*8fTZTOPnclcMRL3Dxjmxr-5DJdNc07fPo" editAlert.js:293:9
GET 
https://www.google-analytics.com/collect [HTTP/2.0 200 OK 15ms]
GET 
http://engine.adzerk.net/ados [HTTP/1.1 200 OK 92ms]
GET 
http://pixel.quantserve.com/pixel;r=1903970453;a=p-c1rF4kxgLUzNc;fpan=0;fpa=P0-2087723673-1465952398859;ns=0;ce=1;cm=;je=1;sr=2048x1152x24;enc=n;dst=1;et=1488173354527;tzo=300;ref=http%3A%2F%2Fsuperuser.com%2Fquestions;url=http%3A%2F%2Fsuperuser.com%2Fquestions%2F1183099%2Fis-this-laptop-worth-repairing%23comments-1183099;ogl=type.website%2Cimage.https%3A%2F%2Fcdn%252Esstatic%252Enet%2FSites%2Fsuperuser%2Fimg%2Fapple-touch-icon%402%252Epng%3Fv%3De869e445943%2Ctitle.Is%20this%20laptop%20worth%20repairing%3F%2Cdescription.I%20have%20an%20Alienware%2017%20from%202013%20with%20the%20following%20specs%3A%20i7%204800MQ%2032%20GB%20DDR3%20%2Curl.http%3A%2F%2Fsuperuser%252Ecom%2Fquestions%2F1183099%2Fis-this-laptop-worth-repairing [HTTP/1.1 200 OK 53ms]
GET 
https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css [HTTP/2.0 304 Not Modified 15ms]
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ jquery-2.1.4.min.js:4:14346
GET 
http://static.adzerk.net/Extensions/adFeedback.js [HTTP/1.1 304 Not Modified 16ms]
GET 
http://static.adzerk.net/Extensions/adFeedback.css [HTTP/1.1 304 Not Modified 43ms]
GET 
XHR 
http://api.stackexchange.com/2.2/questions/1183032 [HTTP/1.1 400 Bad Request 36ms]
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/1183032/revisions?site=superuser&filter=!*K)GWE1gDcf3YaWY" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/1183032/revisions [HTTP/1.1 400 Bad Request 22ms]
looping postsToWatch. currently on: Object { type: "question", postId: "142048", sitename: "superuser", lastCheckedTime: 1488172294672, options: Array[2], lastCheckedState: "open" } editAlert.js:323:13
Been more than 15 (or 10) minutes since checking post. Doing API request for Object { type: "question", postId: "142048", sitename: "superuser", lastCheckedTime: 1488172294672, options: Array[2], lastCheckedState: "open" } editAlert.js:345:17
getting from API with URL:  "http://api.stackexchange.com/2.2/questions/142048?site=superuser&filter=!SCam31W85iAdF11znRBpj2qWFPRJV_*8fTZTOPnclcMRL3Dxjmxr-5DJdNc07fPo" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/questions/142048 [HTTP/1.1 400 Bad Request 22ms]
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/142048/revisions?site=superuser&filter=!*K)GWE1gDcf3YaWY" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/142048/revisions [HTTP/1.1 400 Bad Request 24ms]
looping postsToWatch. currently on: Object { type: "question", postId: "1182909", sitename: "superuser", lastCheckedTime: 1488172445223, options: Array[2], lastCheckedState: "open" } editAlert.js:323:13
Been more than 15 (or 10) minutes since checking post. Doing API request for Object { type: "question", postId: "1182909", sitename: "superuser", lastCheckedTime: 1488172445223, options: Array[2], lastCheckedState: "open" } editAlert.js:345:17
getting from API with URL:  "http://api.stackexchange.com/2.2/questions/1182909?site=superuser&filter=!SCam31W85iAdF11znRBpj2qWFPRJV_*8fTZTOPnclcMRL3Dxjmxr-5DJdNc07fPo" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/questions/1182909 [HTTP/1.1 400 Bad Request 23ms]
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/1182909/revisions?site=superuser&filter=!*K)GWE1gDcf3YaWY" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/1182909/revisions [HTTP/1.1 400 Bad Request 90ms]
looping postsToWatch. currently on: Object { type: "question", postId: "1182928", sitename: "superuser", lastCheckedTime: 1488172525709, options: Array[2], lastCheckedState: "open" } editAlert.js:323:13
looping postsToWatch. currently on: Object { type: "question", postId: "1173212", sitename: "superuser", lastCheckedTime: 1488172645204, options: Array[2], lastCheckedState: "open" } editAlert.js:323:13
about to start looping commentsToWatch: Array [ Object, Object, Object ] editAlert.js:524:9
looping commentsToWatch. currently on: Object { postId: "1149552", title: "", sitename: "superuser", lastCheckedTime: 1488165522339, lastCheckedCommentIds: Array[1] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "1149552", title: "", sitename: "superuser", lastCheckedTime: 1488165522339, lastCheckedCommentIds: Array[1] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/1149552/comments?filter=!*K)GSjDWh5AAh)g(&site=superuser" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/1149552/comments [HTTP/1.1 400 Bad Request 22ms]
looping commentsToWatch. currently on: Object { postId: "1181591", title: "", sitename: "superuser", lastCheckedTime: 1488166242439, lastCheckedCommentIds: Array[4] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "1181591", title: "", sitename: "superuser", lastCheckedTime: 1488166242439, lastCheckedCommentIds: Array[4] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/1181591/comments?filter=!*K)GSjDWh5AAh)g(&site=superuser" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/1181591/comments [HTTP/1.1 400 Bad Request 27ms]
looping commentsToWatch. currently on: Object { postId: "1183132", title: "Are all USB-2 devices compatible wi…", sitename: "superuser", lastCheckedTime: 1488170860042, lastCheckedCommentIds: Array[0] } editAlert.js:526:13
Been more than 15 (or 10) minutes since checking comments. Doing API request for Object { postId: "1183132", title: "Are all USB-2 devices compatible wi…", sitename: "superuser", lastCheckedTime: 1488170860042, lastCheckedCommentIds: Array[0] } editAlert.js:543:17
getting from API with URL:  "http://api.stackexchange.com/2.2/posts/1183132/comments?filter=!*K)GSjDWh5AAh)g(&site=superuser" editAlert.js:293:9
GET 
XHR 
http://api.stackexchange.com/2.2/posts/1183132/comments [HTTP/1.1 400 Bad Request 24ms]
GET 
https://cdn.sstatic.net/Js/full.en.js [HTTP/2.0 304 Not Modified 11ms]
GET 
https://cdn.sstatic.net/Js/inline-tag-editing.en.js [HTTP/2.0 304 Not Modified 11ms]
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:72:0
SOX:  inlineEditorEverywhere error: sox.Stack.using not found sox.common.js:28:13
GET 
http://static.adzerk.net/Advertisers/1b77bfd0a1b045489464a3538e25182d.png [HTTP/1.1 304 Not Modified 16ms]
GET 
http://engine.adzerk.net/i.gif [HTTP/1.1 200 OK 82ms]
GET 
https://rawgit.com/shu8/SE-Answers_scripts/master/dupeClosedMigratedCSS.css [HTTP/2.0 304 Not Modified 423ms]
GET 
https://cdn.sstatic.net/Js/post-validation.en.js [HTTP/2.0 304 Not Modified 9ms]
GET 
XHR 
http://superuser.com/posts/1183099/ivc/c85d [HTTP/1.1 204 No Content 32ms]
GET 
XHR 
https://query.yahooapis.com/v1/public/yql [HTTP/2.0 200 OK 84ms]
GET 
XHR 
https://api.stackexchange.com/2.2/users/701807;51705;407299;364367;83462 [HTTP/1.1 200 OK 28ms]
GET 
XHR 
https://api.stackexchange.com/2.2/questions [HTTP/1.1 400 Bad Request 78ms]
GET 
XHR 
https://api.stackexchange.com/2.2/users/701807 [HTTP/1.1 200 OK 56ms]
vwof plugin, exception in ScreenWaveMedia: TypeError: video_data is undefined vwof.js:67:0
GET 
https://qa.sockets.stackexchange.com/ [HTTP/1.1 101 Switching Protocols 111ms]
TypeError: window.location.hash.match(...) is null sox.features.js:132:30
GET 
XHR 
https://l.ghostery.com/api/page/ [HTTP/1.1 204 No Content 15ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 16ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 17ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 19ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 21ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 21ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 49ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 48ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 46ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 44ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 42ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 49ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 59ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 65ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 84ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 83ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 81ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 76ms]
GET 
XHR 
https://l.ghostery.com/api/census [HTTP/1.1 204 No Content 101ms]
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create panel.js:5816:3
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ panel.js:3525:3
not well-formed messages.json:1:1

Sample Bad Request URLS: http://api.stackexchange.com/2.2/questions/1183032 http://api.stackexchange.com/2.2/posts/1183032/revisions http://api.stackexchange.com/2.2/questions/142048 http://api.stackexchange.com/2.2/questions/1182909 http://api.stackexchange.com/2.2/posts/1149552/comments all produce: {"error_id":400,"error_message":"site is required","error_name":"bad_parameter"}

wgrundlingh commented 7 years ago

I just installed the latest version. Seems like it cleared my previous notifications. Here's what I'm getting in the drop-down dialog... it is looking awesome:

image

The untitled item points to this duplicate: http://tex.stackexchange.com/questions/355862/i-dont-know-why-does-it-not-work-plot/355864#355864

wgrundlingh commented 7 years ago

Some general feedback:

  1. Tracking of State Changes seem to be duplicated (don't know why):

    image

    Perhaps some of this may speak to the throttling...

  2. Sort order of the items in the tracked list is not consistent:

    image

  3. In the above image, the time stamps also don't match the usual time stamps: YYYY-MM-DD HH:MM:SSZ.

  4. Here is my log:

SOX:  undefined
VM1638:565SOX:  Object {debug: Object, initialized: Object, helpers: Object, scrollPadding: Object, _gps_track: Array[0]…}
VM1641:373 running editAlert.js
VM1641:537 postsToWatch [Object, Object]
VM1641:538 commentsToWatch [Object, Object]
VM1641:539 throttled Object {throttled: false}
VM1641:540 notifications [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", postId: "355864", commentBody: "The question has now been made clearer (through co…date your answer to reflect the correct solution?", commentsLink: "http://tex.stackexchange.com/a/355864#comments-355864", newCommentsCount: 3…}
VM1641:447 adding notification with details: Object {sitename: "tex", postId: "355864", commentBody: "The question has now been made clearer (through co…date your answer to reflect the correct solution?", commentsLink: "http://tex.stackexchange.com/a/355864#comments-355864", newCommentsCount: 3…}
VM1641:680 added saved notification: Object {sitename: "tex", postId: "355864", commentBody: "The question has now been made clearer (through co…date your answer to reflect the correct solution?", commentsLink: "http://tex.stackexchange.com/a/355864#comments-355864", newCommentsCount: 3…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", title: "How to create a road like the one in the picture in tikz?", link: "http://tex.stackexchange.com/q/355932", editComment: "Removed duplicate ", editDate: 1488176439…}
VM1641:447 adding notification with details: Object {sitename: "tex", title: "How to create a road like the one in the picture in tikz?", link: "http://tex.stackexchange.com/q/355932", editComment: "Removed duplicate ", editDate: 1488176439…}
VM1641:680 added saved notification: Object {sitename: "tex", title: "How to create a road like the one in the picture in tikz?", link: "http://tex.stackexchange.com/q/355932", editComment: "Removed duplicate ", editDate: 1488176439…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", postId: "355932", commentBody: "Welcome to Tex.Se!", commentsLink: "http://tex.stackexchange.com/q/355932#comments-355932", newCommentsCount: 3…}
VM1641:447 adding notification with details: Object {sitename: "tex", postId: "355932", commentBody: "Welcome to Tex.Se!", commentsLink: "http://tex.stackexchange.com/q/355932#comments-355932", newCommentsCount: 3…}
VM1641:680 added saved notification: Object {sitename: "tex", postId: "355932", commentBody: "Welcome to Tex.Se!", commentsLink: "http://tex.stackexchange.com/q/355932#comments-355932", newCommentsCount: 3…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:677 looping saved notifications. currently on: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:447 adding notification with details: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:680 added saved notification: Object {sitename: "tex", newState: "closed (unclear what you&#39;re asking)", title: "how to draw a glass of wine?", link: "http://tex.stackexchange.com/questions/355822/how-to-draw-a-glass-of-wine", score: 1…}
VM1641:687 about to start looping postsToWatch: [Object, Object]
VM1641:689 looping postsToWatch. currently on: Object {type: "question", postId: "355932", sitename: "tex", lastCheckedTime: 1488219590650, options: Array[1]…}
VM1641:711 Been more than 15 (or 10) minutes since checking post. Doing API request for Object {type: "question", postId: "355932", sitename: "tex", lastCheckedTime: 1488219590650, options: Array[1]…}
VM1641:659 getting from API with URL:  http://api.stackexchange.com/2.2/posts/355932/revisions?site=tex&filter=!*K)GWE1gDcf3YaWY
VM1641:8 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ VM1641:8
ajax @ VM1641:8
fromAPI @ VM1641:660
(anonymous) @ VM1641:818
each @ VM1641:6
window.sox @ VM1641:688
tms_0ddaebf3_fdb7_4255_a94b_e1e17cd99606 @ VM1641:1095
(anonymous) @ VM1615:2
(anonymous) @ VM1641:3
(anonymous) @ VM1641:4
(anonymous) @ VM1641:1126
(anonymous) @ VM1615:2
E_c @ VM1615:3
E @ VM1626:56
create @ VM1626:64
z @ VM1626:13
VM1641:819 data retrieved from API: Object {items: Array[5], has_more: false, quota_max: 300, quota_remaining: 274}
VM1641:447 adding notification with details: Object {editDate: 1488184663, originalPostId: "355932", postType: undefined}
VM1641:878 changing lastCheckedTime to time 10 minutes ago
VM1641:689 looping postsToWatch. currently on: Object {type: "question", postId: "355822", sitename: "tex", lastCheckedTime: 1488220271362, options: Array[2]…}
VM1641:890 about to start looping commentsToWatch: [Object, Object]
VM1641:892 looping commentsToWatch. currently on: Object {postId: "355864", title: "", sitename: "tex", lastCheckedTime: 1488219590793, lastCheckedCommentIds: Array[3]}
VM1641:909 Been more than 15 (or 10) minutes since checking comments. Doing API request for Object {postId: "355864", title: "", sitename: "tex", lastCheckedTime: 1488219590793, lastCheckedCommentIds: Array[3]}
VM1641:659 getting from API with URL:  http://api.stackexchange.com/2.2/posts/355864/comments?filter=!*K)GSjDWh5AAh)g(&site=tex
VM1641:911 data retrieved from API: Object {items: Array[3], has_more: false, quota_max: 300, quota_remaining: 274}
VM1641:447 adding notification with details: Object {sitename: "tex", postId: "355864", commentBody: "The question has now been made clearer (through co…date your answer to reflect the correct solution?", commentsLink: "http://tex.stackexchange.com/a/355864#comments-355864", newCommentsCount: 0…}
VM1641:947 changing lastCheckedTime to time 10 minutes ago
VM1641:892 looping commentsToWatch. currently on: Object {postId: "355932", title: "How to create a road like the one in the picture in tikz?", sitename: "tex", lastCheckedTime: 1488219590935, lastCheckedCommentIds: Array[4]}
VM1641:909 Been more than 15 (or 10) minutes since checking comments. Doing API request for Object {postId: "355932", title: "How to create a road like the one in the picture in tikz?", sitename: "tex", lastCheckedTime: 1488219590935, lastCheckedCommentIds: Array[4]}
VM1641:659 getting from API with URL:  http://api.stackexchange.com/2.2/posts/355932/comments?filter=!*K)GSjDWh5AAh)g(&site=tex
VM1641:911 data retrieved from API: Object {items: Array[4], has_more: false, quota_max: 300, quota_remaining: 274}
VM1641:447 adding notification with details: Object {sitename: "tex", postId: "355932", commentBody: "Welcome to TeX.SX! You can have a look at <a href=… to familiarize yourself further with our format.", commentsLink: "http://tex.stackexchange.com/q/355932#comments-355932", newCommentsCount: 0…}
VM1641:947 changing lastCheckedTime to time 10 minutes ago
VM1638:565 SOX:  DEBUGGING SOX VERSION 2.0.24
VM1638:565 SOX:  ----------------saved variables---------------------
VM1638:589 SOX:  logging sox stored values --- 
VM1638:589 SOX:  access token set
VM1638:589 SOX:  SOX-debug
VM1638:589 SOX:  true
VM1638:589 SOX:  SOXSETTINGS
VM1638:589 SOX:  ["Appearance-addAuthorNameToInboxNotifications","Appearance-answerTagsSearch","Appearance-colorAnswerer","Appearance-fixedTopbar","Appearance-highlightQuestions","Appearance-isQuestionHot","Appearance-markEmployees","Appearance-metaChatBlogStackExchangeButton","Appearance-scrollToTop","Appearance-spoilerTip","Appearance-standOutDupeCloseMigrated","Appearance-tabularReviewerStats","Appearance-topAnswers","Appearance-unspoil","Comments-autoShowCommentImages","Comments-commentReplies","Comments-commentShortcuts","Comments-confirmNavigateAway","Comments-copyCommentsLink","Comments-moveBounty","Comments-showCommentScores","Comments-hiddenCommentsIndicator","Editing-addSBSBtn","Editing-editComment","Editing-editReasonTooltip","Editing-enhancedEditor","Editing-kbdAndBullets","Editing-titleEditDiff","Editing-inlineEditorEverywhere","Flags-flagOutcomeTime","Flags-flagPercentages","Flags-flagPercentageBar","Sidebar-hideHireMe","Sidebar-hideLoveThisSite","Sidebar-linkedToFrom","Chat-chatEasyAccess","Chat-renameChat","Voting-betterCSS","Voting-grayOutVotes","Voting-stickyVoteButtons","Voting-disableOwnPostVoteButtons","Extras-linkedPostsInline","Extras-parseCrossSiteLinks","Extras-quickAuthorInfo","Extras-shareLinksMarkdown","Extras-showMetaReviewCount","Extras-copyCode","Extras-dailyReviewBar"]
VM1638:589 SOX:  downvotedPostsEditAlert
VM1638:589 SOX:  {"347192":{"questionId":"347192","addedDate":1483602847263,"sitename":"tex","lastCheckedTime":1484368203293},"347197":{"questionId":"347192","addedDate":1483602833281,"sitename":"tex","lastCheckedTime":1484368203396},"347487":{"questionId":"347484","addedDate":1483740886378,"sitename":"tex","lastCheckedTime":1484368203507}}
VM1638:589 SOX:  editReasons
VM1638:589 SOX:  [["updated markdown","updated markdown"],["retag","retag"]]
VM1638:589 SOX:  metaNewQuestionAlert-lastQuestions
VM1638:589 SOX:  {"meta.tex":"How to including multimedia files in beamer [Work in progress, please ignor for the moment]"}
VM1638:565 SOX:  ----------------end saved variables---------------------
VM1638:565 SOX:  initializing SOX dialog
VM1638:565 SOX:  injecting features into dialog
VM1638:565 SOX:  Object {name: "addAuthorNameToInboxNotifications", desc: "Add the author's name to notifications in the inbox", extended_description: "If you receive a comment/answer/suggested edit not…or of the comment/answer/edit to the notification", meta: "", match: ""…}
VM1638:565 SOX:  running addAuthorNameToInboxNotifications
VM1638:565 SOX:  observe: .inbox-dialog
VM1638:565 SOX:  Object {name: "answerTagsSearch", desc: "Show tags for the question an answer belongs to on search pages (for better context)", extended_description: "By default, any search results thar are answers do…e adds the question's tags underneath the result.", meta: "http://meta.stackexchange.com/questions/197874/include-tags-in-answers-entries-on-search-results", match: "*://*.com/search*"…}
VM1638:565 SOX:  Object {name: "colorAnswerer", desc: "Color answerer's comments", extended_description: "Highlight the username of a commenter if they have posted an answer on that page.", meta: "http://meta.stackexchange.com/questions/19574/high…from-answer-author-in-addition-to-question-author", match: "*://*/questions*"…}
VM1638:565 SOX:  Object {name: "fixedTopbar", desc: "Fix topbar position", extended_description: "Locks the topbar to the top of the window so you c…e to the different default styling of the topbar.", meta: "http://meta.stackexchange.com/questions/101385/should-the-top-navigation-be-frozen-optional", match: ""…}
VM1638:565 SOX:  running fixedTopbar
VM1638:565 SOX:  observe: #notify-container,#notify--1
VM1638:565 SOX:  Object {name: "highlightQuestions", desc: "Change highlighting for questions with favourite tags", extended_description: "Changes the favourite tag question highlighting to be a more subtle, coloured left-border", meta: "http://meta.stackexchange.com/questions/238591/sho…ite-tag-highlighting-in-question-lists-be-changed", match: ""…}
VM1638:565 SOX:  running highlightQuestions
VM1638:565 SOX:  Object {name: "isQuestionHot", desc: "Add a label on questions which are hot-network questions", extended_description: "If the question you are currently viewing is HOT, a flame icon is added next to the title", meta: "http://meta.stackexchange.com/questions/245390/let-mods-and-10k-know-when-questions-go-hot", match: ""…}
VM1638:565 SOX:  running isQuestionHot
VM1638:565 SOX:  Object {name: "markEmployees", desc: "Add the SO logo after employee names to make them stand out", meta: "http://meta.stackexchange.com/questions/246678/sho…staff-have-a-special-character-in-their-user-name", match: "", exclude: "*://chat.*.com/*,SE1.0"}
VM1638:565 SOX:  running markEmployees
VM1638:565 SOX:  SOX Access Token: SET
VM1638:565 SOX:  Object {name: "metaChatBlogStackExchangeButton", desc: "Show meta and chat buttons on hover of a site under the StackExchange button", meta: "http://meta.stackexchange.com/questions/256183/sho…-and-blog-in-the-top-bar-for-other-sites-on-hover", match: "", exclude: ""}
VM1638:565 SOX:  running metaChatBlogStackExchangeButton
VM1638:565 SOX:  Object {name: "scrollToTop", desc: "Add Scroll To Top button", extended_description: "This feature adds a 'scroll to top' button at the …hat will jump to the top of the page when clicked", meta: "", match: ""…}
VM1638:565 SOX:  running scrollToTop
VM1638:565 SOX:  Object {name: "spoilerTip", desc: "Differentiate spoilers from empty blockquotes", meta: "http://meta.stackexchange.com/questions/104085/differentiate-spoilers-from-empty-block-quotes", match: "*://*/questions*,*://*/review*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "standOutDupeCloseMigrated", desc: "Add highlighted tags to closed/on hold/duplicate/migrated questions on question lists", extended_description: "Adds a coloured box at the end of a title (that re… more easily tell what the state of a question is", meta: "http://meta.stackexchange.com/questions/257021/pro…ate-closed-and-migrated-in-the-title-more-obvious", match: ""…}
VM1638:565 SOX:  running standOutDupeCloseMigrated
VM1638:565 SOX:  observe: #user-tab-questions, #question-mini-list
VM1638:565 SOX:  Object {name: "tabularReviewerStats", desc: "Display reviewer stats on /review/suggested-edits in table form", meta: "http://meta.stackexchange.com/q/276946/260841", match: "*://*.com/review/suggested-edits/*", exclude: ""}
VM1638:565 SOX:  Object {name: "topAnswers", desc: "Improve answer visibility by listing top answers", meta: "", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "unspoil", desc: "Add a link to the bottom of a post to reveal all spoilers in a post", meta: "http://meta.stackexchange.com/questions/249808/add…ay-to-reveal-all-spoiler-blocks-in-a-post-at-once", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "autoShowCommentImages", desc: "View linked images (to imgur) in comments inline", extended_description: "This feature will automatically detect comments with links to imgur and will display them inline", meta: "", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "commentReplies", desc: "Add reply links to comments for quick replying (without having to type someone's username)", meta: "http://meta.stackexchange.com/questions/74778/add-…ment-that-pre-populates-comment-box-with-username", match: "*://*/questions*,*://*/review*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "commentShortcuts", desc: "Use Ctrl+I,B,K (to italicise, bolden and add code backticks) in comments", meta: "http://meta.stackexchange.com/questions/14756/formatting-keyboard-shortcuts-for-comments", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "confirmNavigateAway", desc: "Add a confirmation dialog when navigating away on pages whilst still typing a comment", meta: "http://meta.stackexchange.com/questions/252205/add…-navigate-away-from-this-page-when-writing-a-comm", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "copyCommentsLink", desc: "Copy 'show x more comments' link to the top", meta: "http://meta.stackexchange.com/questions/55020/add-…-comments-button-to-the-top-of-a-list-of-comments", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "moveBounty", desc: "Move the 'start a bounty' link to before the comments", meta: "http://meta.stackexchange.com/questions/234095/can…-move-start-a-bounty-to-a-more-intuitive-location", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "showCommentScores", desc: "Show your comment and comment replies scores in your profile tabs", extended_description: "Adds a button next to comments in your profile's r… when clicked, show you the score of your comment", meta: "http://meta.stackexchange.com/questions/38285/disp…umber-of-comment-upvotes-in-recent-activity-pages", match: "*://*/users/*"…}
VM1638:565 SOX:  Object {name: "hiddenCommentsIndicator", desc: "Add a darker border underneath comments if there are some hidden after it", meta: "http://meta.stackoverflow.com/q/296582/3541881", match: "*://*/questions*,*://*/review*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "addSBSBtn", desc: "Add a button to the editor toolbar to start side-by-side editing", extended_description: "An 'SBS' button is added to the right of the markd… the markdown and the preview appear side-by-side", meta: "http://meta.stackexchange.com/questions/253112/the…iscourse-layout-for-side-by-side-markdown-preview", match: ""…}
VM1638:565 SOX:  running addSBSBtn
VM1638:565 SOX:  observe: .wmd-preview.sbs-on
VM1638:565 SOX:  Object {name: "editComment", desc: "Pre-defined edit comment options (checkboxes)", extended_description: "Adds checkboxes to add canned messages for edit re… is added to the Help dropdown menu in the topbar", meta: "http://meta.stackexchange.com/questions/190461/imp…ing-flow-with-predefined-options-for-edit-summary", match: ""…}
VM1638:565 SOX:  running editComment
VM1638:565 SOX:  Object {name: "editReasonTooltip", desc: "Add a tooltip to posts showing the last revision's…on the word 'edited' in 'edited [date] at [time]'", extended_description: "When a post is edited, the editor is displayed und…d' underneath a post in 'edited [date] at [time]'", meta: "http://meta.stackexchange.com/questions/2315/show-reason-for-edit-without-clicking-through-to-diff", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "enhancedEditor", desc: "Add more features to the markdown editor", extended_description: "Adds find/replace, changes the TAB key behaviour, …kGo integration, and basic auto-correct features.", meta: "", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "kbdAndBullets", desc: "Add KBD and list buttons to editor toolbar", extended_description: "Adds a kbd and bullet icon to the markdown editor … with KBD tags or listify's the current selection", meta: "http://meta.stackexchange.com/questions/102841/key-equivalent-for-kbd-kbd", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "titleEditDiff", desc: "Make title edits show separately rather than merged in edit suggestions", meta: "http://meta.stackexchange.com/questions/135710/please-show-changed-titles-separately-in-edit-diffs", match: "*://*.com/review/suggested-edits*", exclude: ""}
VM1638:565 SOX:  Object {name: "inlineEditorEverywhere", desc: "Inline editor regardless of reputation", extended_description: "Enables the inline editor on all sites, even if yo… yet. Note: this feature may not work on Firefox.", meta: "", match: "*://*/questions*"…}
VM1638:565 SOX:  Object {name: "flagOutcomeTime", desc: "Show the flag outcome time when viewing your Flag History", meta: "", match: "", exclude: "*://chat.*.com/*,SE1.0"}
VM1638:565 SOX:  running flagOutcomeTime
VM1638:565 SOX:  Object {name: "flagPercentages", desc: "Show flagging percentages for each type in the Flag Summary", meta: "", match: "", exclude: "*://chat.*.com/*,SE1.0"}
VM1638:565 SOX:  running flagPercentages
VM1638:565 SOX:  Object {name: "flagPercentageBar", desc: "Show the total percentage of helpful flags as a coloured bar on the Flag Summary Page", meta: "http://meta.stackoverflow.com/questions/310881/overall-percentage-of-helpful-flags", match: "", exclude: "*://chat.*.com/*,SE1.0"}
VM1638:565 SOX:  running flagPercentageBar
VM1638:565 SOX:  Object {name: "hideHireMe", desc: "Hide the Looking for a Job module", meta: "", match: "", exclude: "*://chat.*.com/*"}
VM1638:565 SOX:  running hideHireMe
VM1638:565 SOX:  Object {name: "hideLoveThisSite", desc: "Hide the 'Love this site?' module", meta: "", match: "", exclude: "*://chat.*.com/*"}
VM1638:565 SOX:  running hideLoveThisSite
VM1638:565 SOX:  Object {name: "linkedToFrom", desc: "Add an arrow to linked posts in the sidebar to show whether they are linked to or linked from", meta: "http://meta.stackexchange.com/q/276235/260841", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "chatEasyAccess", desc: "Add buttons to user profiles to change user write access directly from a chat room", meta: "http://meta.stackexchange.com/q/203480/260841", match: "*://chat.*.com/*", exclude: ""}
VM1638:565 SOX:  Object {name: "renameChat", desc: "Prepend 'Chat - ' to chat tabs' titles", meta: "http://meta.stackexchange.com/questions/246289/cha…-on-chat-pages-to-chat-sitename-or-chat-room-name", match: "*://chat.*.com/*", exclude: ""}
VM1638:565 SOX:  Object {name: "betterCSS", desc: "Add extra CSS for animation actions on voting and favourite buttons", extended_description: "Pulse effect when hovering over the upvote/downvot…urrently only implemented natively on Android.SE.", meta: "http://meta.stackexchange.com/questions/252685/i-w…oting-animations-like-on-android-se-pretty-please", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "grayOutVotes", desc: "Gray out deleted vote buttons", meta: "http://meta.stackexchange.com/a/174806/260841", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "stickyVoteButtons", desc: "Make vote buttons next to posts sticky whilst scrolling on that post", meta: "http://meta.stackexchange.com/a/35047/260841", match: "*://*/questions*,*://*/review*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "disableOwnPostVoteButtons", desc: "Disable vote buttons on your own posts", meta: "", match: "*://*/questions*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "linkedPostsInline", desc: "Display linked posts inline by clicking on an arrow", extended_description: "Adds a button next to links to posts on the same site that expand to show the post inline", meta: "", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "parseCrossSiteLinks", desc: "Parse titles to links cross-SE-sites", extended_description: "Detects links to other questions on SE sites and converts them to their title", meta: "http://meta.stackexchange.com/questions/251183/parse-question-links-from-other-se-sites", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "quickAuthorInfo", desc: "Show when the post's author was last seen and whether they are registered", meta: "", match: "*://*/questions*,*://*/review*", exclude: "SE1.0"}
VM1638:565 SOX:  Object {name: "shareLinksMarkdown", desc: "Change 'share' link to format of [post-name](url)", extended_description: "When you click 'share' under a post, this will con…lly copies the converted string to your clipboard", meta: "http://meta.stackexchange.com/questions/126544/add…nd-share-button-to-posts-with-comment-ready-links", match: "*://*/questions*,*://*/review*"…}
VM1638:565 SOX:  Object {name: "showMetaReviewCount", desc: "Add how many reviews are available on Meta to the main site review page", meta: "", match: "*://*/review", exclude: "*://meta.*.com/*"}
VM1638:565 SOX:  Object {name: "copyCode", desc: "Add a button to code in posts to let you copy it", meta: "", match: "*://*/questions*,*://*/review*", exclude: ""}
VM1638:565 SOX:  Object {name: "dailyReviewBar", desc: "Add a progress bar showing how many reviews you have left in the day", meta: "", match: "*://*/review*", exclude: ""}
VM1638:565 SOX:  observe: .new_comment
VM1638:565 SOX:  observe: li[id^="wmd-redo-button"], textarea[id^="wmd-input"]
VM1638:565 SOX:  observe: .reviewable-post, .review-content
shu8 commented 7 years ago

@wgrundlingh @fixer1234 thanks for the feedback, I'll get these issues looked at ASAP :)

wgrundlingh commented 7 years ago

It seems my own comments are being caught by the "check comments" script:

image

I wrote the comment, clicked the "track comments" button and shortly after received a notification.

fixer1234 commented 7 years ago

@wgrundlingh The feature is tracking changes. I'm not sure that it should ignore your own by default. It might be a useful option to be able to select ignoring your own changes. I've always just assumed that your own changes are included and used that as a way to test it.

wgrundlingh commented 7 years ago

@fixer1234 True. However, I clicked the button to track changes after I had posted my comment. So, technically, there had been no change in the comments.

fixer1234 commented 7 years ago

@wgrundlingh If I understand right, the change doesn't directly trigger the notification. There is periodic polling to see if there have been changes. So if you turn on watching after a change and before the polling, it would still be picked up.

shu8 commented 7 years ago

@wgrundlingh @fixer1234 I'm pretty sure that shouldn't happen because it should save the comments already there when you start watching to compare with when polling... I'll look into it a bit more

fixer1234 commented 7 years ago

@shu8 Any chance my problem would be solved with a token?

shu8 commented 6 years ago

@wgrundlingh @fixer1234 i've been really busy this last year, and it's only going to get busier from here, so I'm going to have to abandon this feature :(

Sorry but maybe one day I'll (or someone else!) will be able to make a full on extension to do this!

the previous feature for simple edit notifications on downvote will remain.

To anyone who sees this, my last efforts are at this gist -- please feel free to work on it!

fixer1234 commented 6 years ago

@shu8 So overtaken by real life? Just so you know, many of us really appreciate the effort you were able to put in on Sox. BTW, Sox generally stopped working after SE changed the site UI, and it looked like nobody had the ambition or time to tackle making it compatible with the new UI. Is this still the case, or is there a revised version of Sox available?

shu8 commented 6 years ago

Thanks! The new version is compatible with the new design on chrome but I'm yet to fix it for the new version of grease monkey and Firefox, hopefully I'll get that done sometime this month!

On 25 Feb 2018 01:41, "fixer1234" notifications@github.com wrote:

@shu8 https://github.com/shu8 So overtaken by real life? Just so you know, many of us really appreciate the effort you were able to put in on Sox. BTW, Sox generally stopped working after SE changed the site UI, and it looked like nobody had the ambition or time to tackle making it compatible with the new UI. Is this still the case, or is there a revised version of Sox available?

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

shu8 commented 5 years ago

It's been a while since I looked into this, but I've got some free time in the next few months and I would like to make something that works well for this feature.

I have a few thoughts on ways I could do this and would appreciate any thoughts any of you might have, if you're still interested in this:

I'm planning on making it a chrome extension, and the options I'm currently thinking of are:

In either case, the goal would be to have a complete system that lets you watch for almost any change in posts like we discussed earlier in this issue last year (and the year before 😮 ) .

I'd appreciate any thoughts you might have if you're still interested in this!

fixer1234 commented 5 years ago

@shu8 it looks like excitement is in store. BTW, does Tamper Monkey vs. Grease Monkey make a difference? I gave up on Grease Monkey and switched to Tamper Monkey on Firefox Quantum. When you describe a Chrome extension, would that work only on Chromium-based browsers or would it work with Firefox using Tamper Monkey (or are you talking about an extension rather than a script, so only Chromium-based browsers would work)?

shu8 commented 5 years ago

@fixer1234 I would definitely recommend tampermonkey over greasemonkey. Greasemonkey 4 had some API breaking changes and lots of scripts stopped working with it, including SOX, which is why we now only support tampermonkey!

I am thinking of a fully native extension so it wouldn't use tampermonkey/greasemonkey. It would in the first case be for Chrome, but reading about it, it does seem like porting chrome extensions to firefox isn't very hard and would probably be doable quite quickly after getting the chrome one ready!

I should probably stress that none of this is definite yet, and I was just looking to get some thoughts if you guys had any!

fixer1234 commented 5 years ago

@shu8 my only thought is that we may have gotten carried away last time with an excessive level of complexity in the UI. It would probably be smarter to look at all of that detail as a potential end state, and maybe leave some hooks to add it later without requiring a complete rewrite. But figure out the core features and implement something simple as a first pass. Get that debugged, then add features. Trying to develop a mini-application in the first pass entails a lot of potential problems and stuff to debug. Plus, it's easier to assess desired changes if you have a working tool as a basis. Then changes can be based on actual use cases rather than speculating how it might be used.

shu8 commented 5 years ago

@fixer1234 thanks! I think you're right, I'll start simple this time! 😛

shu8 commented 5 years ago

@fixer1234 I've released it! Please give it a shot if you're interested :)

fixer1234 commented 5 years ago

@shu8 Loaded it on Firefox and played with it a bit. Good start. Some suggestions:

shu8 commented 5 years ago

@fixer1234 Thanks for the feedback! I'll have a look into all these over the next few days hopefully!

It's weird how the token disappeared on reboot, I'll have to test that and see if I can reproduce. The watched posts and token should persist over Firefox's/Chrome's storage so if you have an account on it then you should be able to keep everything on any other devices.

I've noticed the icon that has a badge for the extension in the browser navigation bar when you have an unread change is very small and unnoticeable. I'll make that bigger so it's more clear there's an unread change!

To reset a post's watched state, you should be able to click the 'tick' button next to it in the popup that comes when you click the extension's icon. Admittedly this is also very small and unclear, so I'll think of a better UI way to show that!

I could consider making the watch options default to a certain (user-definable?) set of options, but ideally it won't be all of them, the idea is to make as few API requests as possible, and some watch options need a separate request on their own if the information they need isn't available in a different endpoint we already use.

Thanks again for the detailed feedback, hopefully I can get these changes done soon!

P.S please could we move to the new repo for feedback/issues on this? https://github.com/shu8/stack-exchange-post-watcher/issues :)

wgrundlingh commented 5 years ago

I'm only catching up on this now. Great work!

wgrundlingh commented 4 years ago

This now has a native implementation on the entire Stack Exchange network. See: The Follow Questions and Answers feature is now live across the Network

mezmi commented 4 years ago

Thank you for letting us know. I'll talk to @shu8 and see what we want to with this feature moving forward.

fixer1234 commented 4 years ago

It's great that the SE UI now incorporates this kind of feature, but the Watcher app that this discussion led to is more refined and capable. Maybe it won't be worth shu8's time to maintain it now, but as long as it continues to work, it's a superior solution. Just hope there isn't a conflict with the new built-in feature.

mezmi commented 4 years ago

I'm back now, he won't be maintaining it by himself. As far as the feature goes, we just have to determine whether or not it is worthwhile to continue maintaining it..Even if we decide not to, the code for that feature can be extracted and put into a standalone script.