{"action":"created","issue":{"url":"https://api.github.com/repos/dreamwidth/dw-free/issues/1233","repository_url":"https://api.github.com/repos/dreamwidth/dw-free","labels_url":"https://api.github.com/repos/dreamwidth/dw-free/issues/1233/labels{/name}","comments_url":"https://api.github.com/repos/dreamwidth/dw-free/issues/1233/comments","events_url":"https://api.github.com/repos/dreamwidth/dw-free/issues/1233/events","html_url":"https://github.com/dreamwidth/dw-free/issues/1233","id":57867139,"number":1233,"title":"Visually mark new comments since last reload","user":{"login":"afuna","id":364169,"avatar_url":"https://avatars.githubusercontent.com/u/364169?v=3","gravatar_id":"","url":"https://api.github.com/users/afuna","html_url":"https://github.com/afuna","followers_url":"https://api.github.com/users/afuna/followers","following_url":"https://api.github.com/users/afuna/following{/other_user}","gists_url":"https://api.github.com/users/afuna/gists{/gist_id}","starred_url":"https://api.github.com/users/afuna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afuna/subscriptions","organizations_url":"https://api.github.com/users/afuna/orgs","repos_url":"https://api.github.com/users/afuna/repos","events_url":"https://api.github.com/users/afuna/events{/privacy}","received_events_url":"https://api.github.com/users/afuna/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dreamwidth/dw-free/labels/effort:%20(2)%20average","name":"effort: (2) average","color":"0052cc"},{"url":"https://api.github.com/repos/dreamwidth/dw-free/labels/from:%20suggestions","name":"from: suggestions","color":"c7def8"},{"url":"https://api.github.com/repos/dreamwidth/dw-free/labels/is:%20feature","name":"is: feature","color":"d4c5f9"},{"url":"https://api.github.com/repos/dreamwidth/dw-free/labels/severity:%20(1)%20minor","name":"severity: (1) minor","color":"fbca04"},{"url":"https://api.github.com/repos/dreamwidth/dw-free/labels/status:%20claimed","name":"status: claimed","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"woggy","id":3821254,"avatar_url":"https://avatars.githubusercontent.com/u/3821254?v=3","gravatar_id":"","url":"https://api.github.com/users/woggy","html_url":"https://github.com/woggy","followers_url":"https://api.github.com/users/woggy/followers","following_url":"https://api.github.com/users/woggy/following{/other_user}","gists_url":"https://api.github.com/users/woggy/gists{/gist_id}","starred_url":"https://api.github.com/users/woggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/woggy/subscriptions","organizations_url":"https://api.github.com/users/woggy/orgs","repos_url":"https://api.github.com/users/woggy/repos","events_url":"https://api.github.com/users/woggy/events{/privacy}","received_events_url":"https://api.github.com/users/woggy/received_events","type":"User","site_admin":false},"assignees":[{"login":"woggy","id":3821254,"avatar_url":"https://avatars.githubusercontent.com/u/3821254?v=3","gravatar_id":"","url":"https://api.github.com/users/woggy","html_url":"https://github.com/woggy","followers_url":"https://api.github.com/users/woggy/followers","following_url":"https://api.github.com/users/woggy/following{/other_user}","gists_url":"https://api.github.com/users/woggy/gists{/gist_id}","starred_url":"https://api.github.com/users/woggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/woggy/subscriptions","organizations_url":"https://api.github.com/users/woggy/orgs","repos_url":"https://api.github.com/users/woggy/repos","events_url":"https://api.github.com/users/woggy/events{/privacy}","received_events_url":"https://api.github.com/users/woggy/received_events","type":"User","site_admin":false}],"milestone":null,"comments":7,"created_at":"2015-02-17T00:11:25Z","updated_at":"2016-07-05T04:12:37Z","closed_at":null,"body":"From http://dw-suggestions.dreamwidth.org/1304620.html:\r\n\r\n> When you reload the page, any comments that have been posted since you last loaded the page would be marked as visually distinct and new.\r\n\r\nPS this looks fun!"},"comment":{"url":"https://api.github.com/repos/dreamwidth/dw-free/issues/comments/230384096","html_url":"https://github.com/dreamwidth/dw-free/issues/1233#issuecomment-230384096","issue_url":"https://api.github.com/repos/dreamwidth/dw-free/issues/1233","id":230384096,"user":{"login":"zorkian","id":361428,"avatar_url":"https://avatars.githubusercontent.com/u/361428?v=3","gravatar_id":"","url":"https://api.github.com/users/zorkian","html_url":"https://github.com/zorkian","followers_url":"https://api.github.com/users/zorkian/followers","following_url":"https://api.github.com/users/zorkian/following{/other_user}","gists_url":"https://api.github.com/users/zorkian/gists{/gist_id}","starred_url":"https://api.github.com/users/zorkian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zorkian/subscriptions","organizations_url":"https://api.github.com/users/zorkian/orgs","repos_url":"https://api.github.com/users/zorkian/repos","events_url":"https://api.github.com/users/zorkian/events{/privacy}","received_events_url":"https://api.github.com/users/zorkian/received_events","type":"User","site_admin":false},"created_at":"2016-07-05T04:12:37Z","updated_at":"2016-07-05T04:12:37Z","body":"Can we write out a strong specification to know exactly what needs covering? I've implemented a dumb version of this 10 years ago for LJ but it never shipped. What about edits, do they show up as new? What about new comments on page you aren't on? What about if you switch in and out of flat mode? What if comments are screened when you view and later get unscreened?\n\nIf we can write out all the specifications and edge cases and desired behavior I can write up an architecture. If we want it to be totally accurate it's going to be a decent amount of load possibly.\n\nProbably we are going to have to accept using memcache for this and saying that we will only track read state for some days. If you come back after a week we won't know what's new really.\n\nIf that's not acceptable we will certainly want to make it a paid feature. Storing this in the DB means a write on nearly every read request which is pretty heavy unless we get really really smart. \n\nSent from your iPhone\n\n> On Jul 4, 2016, at 10:42 PM, Denise Paolucci <notifications@github.com> wrote:\n> \n> Hmmm. \"Comment added since last you loaded the page\" would be okay, but would that (for instance) mark a new comment on page 38 as read after you look at page 1, or mark a comment deep inside a nested comment thread as read if you loaded the parent page and then loaded the sub-thread? That would make this pretty useless for high-volume discussion communities like fail_fandomanon or rpanons, which is the sort of use case where this sort of feature would be most useful.\n> \n> Hmmmmmm. Maybe a list per-entry that includes the # of any comment object that's been loaded-in-full on the page (so: nested comment gets added to the list when it's expanded, comment-on-page-38 gets added to the list when page 38 is viewed), and check each comment against the list when the page is loaded to decide whether to flag it or not? That would be easily memcacheable, and you'd only have to load the data once for each pageload and do the comparison on-the-fly. That might be tricky to figure out what counts as 'viewed', especially if a comment is expanded inline, but it may be the best compromise between usability and load.\n> \n> @zorkian, do you have any suggestions? \n> \n> (ps: I am very excited for this feature)\n> —\n> You are receiving this because \n> \n"}}
{"actor":{"display_login":"zorkian"}}