{"action":"opened","number":306,"pull_request":{"url":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/306","id":209061924,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5MDYxOTI0","html_url":"https://github.com/jonschlinkert/remarkable/pull/306","diff_url":"https://github.com/jonschlinkert/remarkable/pull/306.diff","patch_url":"https://github.com/jonschlinkert/remarkable/pull/306.patch","issue_url":"https://api.github.com/repos/jonschlinkert/remarkable/issues/306","number":306,"state":"open","locked":false,"title":"fix infinite loop caused by comment regexp in htmltag module","user":{"login":"veedrin","id":30197905,"node_id":"MDQ6VXNlcjMwMTk3OTA1","avatar_url":"https://avatars3.githubusercontent.com/u/30197905?v=4","gravatar_id":"","url":"https://api.github.com/users/veedrin","html_url":"https://github.com/veedrin","followers_url":"https://api.github.com/users/veedrin/followers","following_url":"https://api.github.com/users/veedrin/following{/other_user}","gists_url":"https://api.github.com/users/veedrin/gists{/gist_id}","starred_url":"https://api.github.com/users/veedrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/veedrin/subscriptions","organizations_url":"https://api.github.com/users/veedrin/orgs","repos_url":"https://api.github.com/users/veedrin/repos","events_url":"https://api.github.com/users/veedrin/events{/privacy}","received_events_url":"https://api.github.com/users/veedrin/received_events","type":"User","site_admin":false},"body":"I don't know why comment regexp looks like this: `/<!--([^-]+|[-][^-]+)*-->/`, maybe for some specific rules.\r\n\r\nBut I found that `/<!--([^-]+|[-][^-]+)*-->/` can't match something like this: `<!-- a--z -->`, which is obviously a html comment.\r\n\r\nMore importantly, this regexp `/<!--([^-]+|[-][^-]+)*-->/` may cause infinite loop and break down the browser.\r\n\r\nSee [My issue](https://github.com/jonschlinkert/remarkable/issues/305) before.\r\n\r\nI positioned the bug, but have no idea why this regexp should cause infinite loop.\r\n\r\nI rewrite it, so you have this pull request.","created_at":"2018-08-17T07:01:33Z","updated_at":"2018-08-17T07:01:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/306/commits","review_comments_url":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/306/comments","review_comment_url":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jonschlinkert/remarkable/issues/306/comments","statuses_url":"https://api.github.com/repos/jonschlinkert/remarkable/statuses/7cbe00288b226dde8d65e41d589ba42238332c56","head":{"label":"veedrin:fix-comment-regexp-infinite-loop","ref":"fix-comment-regexp-infinite-loop","sha":"7cbe00288b226dde8d65e41d589ba42238332c56","user":{"login":"veedrin","id":30197905,"node_id":"MDQ6VXNlcjMwMTk3OTA1","avatar_url":"https://avatars3.githubusercontent.com/u/30197905?v=4","gravatar_id":"","url":"https://api.github.com/users/veedrin","html_url":"https://github.com/veedrin","followers_url":"https://api.github.com/users/veedrin/followers","following_url":"https://api.github.com/users/veedrin/following{/other_user}","gists_url":"https://api.github.com/users/veedrin/gists{/gist_id}","starred_url":"https://api.github.com/users/veedrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/veedrin/subscriptions","organizations_url":"https://api.github.com/users/veedrin/orgs","repos_url":"https://api.github.com/users/veedrin/repos","events_url":"https://api.github.com/users/veedrin/events{/privacy}","received_events_url":"https://api.github.com/users/veedrin/received_events","type":"User","site_admin":false},"repo":{"id":145080776,"node_id":"MDEwOlJlcG9zaXRvcnkxNDUwODA3NzY=","name":"remarkable","full_name":"veedrin/remarkable","owner":{"login":"veedrin","id":30197905,"node_id":"MDQ6VXNlcjMwMTk3OTA1","avatar_url":"https://avatars3.githubusercontent.com/u/30197905?v=4","gravatar_id":"","url":"https://api.github.com/users/veedrin","html_url":"https://github.com/veedrin","followers_url":"https://api.github.com/users/veedrin/followers","following_url":"https://api.github.com/users/veedrin/following{/other_user}","gists_url":"https://api.github.com/users/veedrin/gists{/gist_id}","starred_url":"https://api.github.com/users/veedrin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/veedrin/subscriptions","organizations_url":"https://api.github.com/users/veedrin/orgs","repos_url":"https://api.github.com/users/veedrin/repos","events_url":"https://api.github.com/users/veedrin/events{/privacy}","received_events_url":"https://api.github.com/users/veedrin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/veedrin/remarkable","description":"Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins are also available. See https://github.com/breakdance/breakdance for HTML-to-markdown conversion.","fork":true,"url":"https://api.github.com/repos/veedrin/remarkable","forks_url":"https://api.github.com/repos/veedrin/remarkable/forks","keys_url":"https://api.github.com/repos/veedrin/remarkable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/veedrin/remarkable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/veedrin/remarkable/teams","hooks_url":"https://api.github.com/repos/veedrin/remarkable/hooks","issue_events_url":"https://api.github.com/repos/veedrin/remarkable/issues/events{/number}","events_url":"https://api.github.com/repos/veedrin/remarkable/events","assignees_url":"https://api.github.com/repos/veedrin/remarkable/assignees{/user}","branches_url":"https://api.github.com/repos/veedrin/remarkable/branches{/branch}","tags_url":"https://api.github.com/repos/veedrin/remarkable/tags","blobs_url":"https://api.github.com/repos/veedrin/remarkable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/veedrin/remarkable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/veedrin/remarkable/git/refs{/sha}","trees_url":"https://api.github.com/repos/veedrin/remarkable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/veedrin/remarkable/statuses/{sha}","languages_url":"https://api.github.com/repos/veedrin/remarkable/languages","stargazers_url":"https://api.github.com/repos/veedrin/remarkable/stargazers","contributors_url":"https://api.github.com/repos/veedrin/remarkable/contributors","subscribers_url":"https://api.github.com/repos/veedrin/remarkable/subscribers","subscription_url":"https://api.github.com/repos/veedrin/remarkable/subscription","commits_url":"https://api.github.com/repos/veedrin/remarkable/commits{/sha}","git_commits_url":"https://api.github.com/repos/veedrin/remarkable/git/commits{/sha}","comments_url":"https://api.github.com/repos/veedrin/remarkable/comments{/number}","issue_comment_url":"https://api.github.com/repos/veedrin/remarkable/issues/comments{/number}","contents_url":"https://api.github.com/repos/veedrin/remarkable/contents/{+path}","compare_url":"https://api.github.com/repos/veedrin/remarkable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/veedrin/remarkable/merges","archive_url":"https://api.github.com/repos/veedrin/remarkable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/veedrin/remarkable/downloads","issues_url":"https://api.github.com/repos/veedrin/remarkable/issues{/number}","pulls_url":"https://api.github.com/repos/veedrin/remarkable/pulls{/number}","milestones_url":"https://api.github.com/repos/veedrin/remarkable/milestones{/number}","notifications_url":"https://api.github.com/repos/veedrin/remarkable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/veedrin/remarkable/labels{/name}","releases_url":"https://api.github.com/repos/veedrin/remarkable/releases{/id}","deployments_url":"https://api.github.com/repos/veedrin/remarkable/deployments","created_at":"2018-08-17T06:25:27Z","updated_at":"2018-08-17T06:25:29Z","pushed_at":"2018-08-17T06:47:27Z","git_url":"git://github.com/veedrin/remarkable.git","ssh_url":"git@github.com:veedrin/remarkable.git","clone_url":"https://github.com/veedrin/remarkable.git","svn_url":"https://github.com/veedrin/remarkable","homepage":"https://jonschlinkert.github.io/remarkable/demo/","size":1327,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jonschlinkert:dev","ref":"dev","sha":"f7d74adc0346d96c94a5b05b612c46995cbb8d8a","user":{"login":"jonschlinkert","id":383994,"node_id":"MDQ6VXNlcjM4Mzk5NA==","avatar_url":"https://avatars0.githubusercontent.com/u/383994?v=4","gravatar_id":"","url":"https://api.github.com/users/jonschlinkert","html_url":"https://github.com/jonschlinkert","followers_url":"https://api.github.com/users/jonschlinkert/followers","following_url":"https://api.github.com/users/jonschlinkert/following{/other_user}","gists_url":"https://api.github.com/users/jonschlinkert/gists{/gist_id}","starred_url":"https://api.github.com/users/jonschlinkert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonschlinkert/subscriptions","organizations_url":"https://api.github.com/users/jonschlinkert/orgs","repos_url":"https://api.github.com/users/jonschlinkert/repos","events_url":"https://api.github.com/users/jonschlinkert/events{/privacy}","received_events_url":"https://api.github.com/users/jonschlinkert/received_events","type":"User","site_admin":false},"repo":{"id":23550956,"node_id":"MDEwOlJlcG9zaXRvcnkyMzU1MDk1Ng==","name":"remarkable","full_name":"jonschlinkert/remarkable","owner":{"login":"jonschlinkert","id":383994,"node_id":"MDQ6VXNlcjM4Mzk5NA==","avatar_url":"https://avatars0.githubusercontent.com/u/383994?v=4","gravatar_id":"","url":"https://api.github.com/users/jonschlinkert","html_url":"https://github.com/jonschlinkert","followers_url":"https://api.github.com/users/jonschlinkert/followers","following_url":"https://api.github.com/users/jonschlinkert/following{/other_user}","gists_url":"https://api.github.com/users/jonschlinkert/gists{/gist_id}","starred_url":"https://api.github.com/users/jonschlinkert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonschlinkert/subscriptions","organizations_url":"https://api.github.com/users/jonschlinkert/orgs","repos_url":"https://api.github.com/users/jonschlinkert/repos","events_url":"https://api.github.com/users/jonschlinkert/events{/privacy}","received_events_url":"https://api.github.com/users/jonschlinkert/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jonschlinkert/remarkable","description":"Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins are also available. See https://github.com/breakdance/breakdance for HTML-to-markdown conversion.","fork":false,"url":"https://api.github.com/repos/jonschlinkert/remarkable","forks_url":"https://api.github.com/repos/jonschlinkert/remarkable/forks","keys_url":"https://api.github.com/repos/jonschlinkert/remarkable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jonschlinkert/remarkable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jonschlinkert/remarkable/teams","hooks_url":"https://api.github.com/repos/jonschlinkert/remarkable/hooks","issue_events_url":"https://api.github.com/repos/jonschlinkert/remarkable/issues/events{/number}","events_url":"https://api.github.com/repos/jonschlinkert/remarkable/events","assignees_url":"https://api.github.com/repos/jonschlinkert/remarkable/assignees{/user}","branches_url":"https://api.github.com/repos/jonschlinkert/remarkable/branches{/branch}","tags_url":"https://api.github.com/repos/jonschlinkert/remarkable/tags","blobs_url":"https://api.github.com/repos/jonschlinkert/remarkable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jonschlinkert/remarkable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jonschlinkert/remarkable/git/refs{/sha}","trees_url":"https://api.github.com/repos/jonschlinkert/remarkable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jonschlinkert/remarkable/statuses/{sha}","languages_url":"https://api.github.com/repos/jonschlinkert/remarkable/languages","stargazers_url":"https://api.github.com/repos/jonschlinkert/remarkable/stargazers","contributors_url":"https://api.github.com/repos/jonschlinkert/remarkable/contributors","subscribers_url":"https://api.github.com/repos/jonschlinkert/remarkable/subscribers","subscription_url":"https://api.github.com/repos/jonschlinkert/remarkable/subscription","commits_url":"https://api.github.com/repos/jonschlinkert/remarkable/commits{/sha}","git_commits_url":"https://api.github.com/repos/jonschlinkert/remarkable/git/commits{/sha}","comments_url":"https://api.github.com/repos/jonschlinkert/remarkable/comments{/number}","issue_comment_url":"https://api.github.com/repos/jonschlinkert/remarkable/issues/comments{/number}","contents_url":"https://api.github.com/repos/jonschlinkert/remarkable/contents/{+path}","compare_url":"https://api.github.com/repos/jonschlinkert/remarkable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jonschlinkert/remarkable/merges","archive_url":"https://api.github.com/repos/jonschlinkert/remarkable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jonschlinkert/remarkable/downloads","issues_url":"https://api.github.com/repos/jonschlinkert/remarkable/issues{/number}","pulls_url":"https://api.github.com/repos/jonschlinkert/remarkable/pulls{/number}","milestones_url":"https://api.github.com/repos/jonschlinkert/remarkable/milestones{/number}","notifications_url":"https://api.github.com/repos/jonschlinkert/remarkable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jonschlinkert/remarkable/labels{/name}","releases_url":"https://api.github.com/repos/jonschlinkert/remarkable/releases{/id}","deployments_url":"https://api.github.com/repos/jonschlinkert/remarkable/deployments","created_at":"2014-09-01T17:57:42Z","updated_at":"2018-08-16T15:53:42Z","pushed_at":"2018-07-05T22:20:24Z","git_url":"git://github.com/jonschlinkert/remarkable.git","ssh_url":"git@github.com:jonschlinkert/remarkable.git","clone_url":"https://github.com/jonschlinkert/remarkable.git","svn_url":"https://github.com/jonschlinkert/remarkable","homepage":"https://jonschlinkert.github.io/remarkable/demo/","size":1327,"stargazers_count":3969,"watchers_count":3969,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":262,"mirror_url":null,"archived":false,"open_issues_count":84,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":262,"open_issues":84,"watchers":3969,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/306"},"html":{"href":"https://github.com/jonschlinkert/remarkable/pull/306"},"issue":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/issues/306"},"comments":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/issues/306/comments"},"review_comments":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/306/comments"},"review_comment":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/pulls/306/commits"},"statuses":{"href":"https://api.github.com/repos/jonschlinkert/remarkable/statuses/7cbe00288b226dde8d65e41d589ba42238332c56"}},"author_association":"NONE","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":31,"additions":358,"deletions":275,"changed_files":27}}
{"actor":{"display_login":"veedrin"}}