{"action":"created","issue":{"url":"https://api.github.com/repos/summernote/angular-summernote/issues/34","labels_url":"https://api.github.com/repos/summernote/angular-summernote/issues/34/labels{/name}","comments_url":"https://api.github.com/repos/summernote/angular-summernote/issues/34/comments","events_url":"https://api.github.com/repos/summernote/angular-summernote/issues/34/events","html_url":"https://github.com/summernote/angular-summernote/pull/34","id":53480356,"number":34,"title":"IE11에서 scope.$apply 실행시 오류 발생되어 $rootScope.$$phase 조건으로 판단하도록 수정","user":{"login":"qpitlove","id":1381250,"avatar_url":"https://avatars.githubusercontent.com/u/1381250?v=3","gravatar_id":"","url":"https://api.github.com/users/qpitlove","html_url":"https://github.com/qpitlove","followers_url":"https://api.github.com/users/qpitlove/followers","following_url":"https://api.github.com/users/qpitlove/following{/other_user}","gists_url":"https://api.github.com/users/qpitlove/gists{/gist_id}","starred_url":"https://api.github.com/users/qpitlove/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qpitlove/subscriptions","organizations_url":"https://api.github.com/users/qpitlove/orgs","repos_url":"https://api.github.com/users/qpitlove/repos","events_url":"https://api.github.com/users/qpitlove/events{/privacy}","received_events_url":"https://api.github.com/users/qpitlove/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-06T04:40:03Z","updated_at":"2015-01-06T18:01:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/summernote/angular-summernote/pulls/34","html_url":"https://github.com/summernote/angular-summernote/pull/34","diff_url":"https://github.com/summernote/angular-summernote/pull/34.diff","patch_url":"https://github.com/summernote/angular-summernote/pull/34.patch"},"body":"안녕하세요. outsider님 \r\nsummernote angular version을 애용하고 있는 평범한 개발자 중 한사람입니다.\r\n\r\n최근 IE에서 테스트를 하다 페이지 로딩 시 계속적인 angular exception이 나서 원인을 찾아 봤는데요.\r\nError: [$rootScope:inprog] $digest already in progress\r\n\r\nangular의 dirty checking에서 $$phase 조건범위가 해당 scope이 아닌 $rootScope의 처리로 되어야 함을 angular 1.2.28 소스 코드를 통해 알게 되었습니다.\r\n```\r\nif (ctrl.$viewValue !== value || (value === '' && revalidate)) {\r\n      if (scope.$root.$$phase) {\r\n        ctrl.$setViewValue(value);\r\n      } else {\r\n        scope.$apply(function() {\r\n          ctrl.$setViewValue(value);\r\n        });\r\n      }\r\n    }\r\n```\r\n확인해 보시고 반영 부탁드리겠습니다.\r\n\r\nps. 많은 도움 받고 있습니다. ^^"},"comment":{"url":"https://api.github.com/repos/summernote/angular-summernote/issues/comments/68904378","html_url":"https://github.com/summernote/angular-summernote/pull/34#issuecomment-68904378","issue_url":"https://api.github.com/repos/summernote/angular-summernote/issues/34","id":68904378,"user":{"login":"outsideris","id":390146,"avatar_url":"https://avatars.githubusercontent.com/u/390146?v=3","gravatar_id":"","url":"https://api.github.com/users/outsideris","html_url":"https://github.com/outsideris","followers_url":"https://api.github.com/users/outsideris/followers","following_url":"https://api.github.com/users/outsideris/following{/other_user}","gists_url":"https://api.github.com/users/outsideris/gists{/gist_id}","starred_url":"https://api.github.com/users/outsideris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/outsideris/subscriptions","organizations_url":"https://api.github.com/users/outsideris/orgs","repos_url":"https://api.github.com/users/outsideris/repos","events_url":"https://api.github.com/users/outsideris/events{/privacy}","received_events_url":"https://api.github.com/users/outsideris/received_events","type":"User","site_admin":false},"created_at":"2015-01-06T18:01:22Z","updated_at":"2015-01-06T18:01:22Z","body":"@qpitlove \r\n확인해 보고 있는데 좀더 자세한 정보를 알려주시면 감사하겠습니다.\r\n제가 지금 이슈를 재현 못하고 있는데 IE11에서 페이지만 로드해도 바로 발생하는 것인지 어떤 액션이 필요한 것인지 궁금하고 다른 브라우저에서는 괜찮으신지 궁금합니다.(사용하시는 angular.js와 angular-summernote의 버전도 알려주세요.)\r\n\r\n제가 확인해 보고자 하는 것은 현재 `$digest already in progress`상황은 `$digest`가 기존의 코드처럼 현재 `scope`이 아닌  `$rootScope`에서 발생하면서 제대로 체크가 안되는 것으로 보이는데 이 부분을 수정하려면 항상 `$rootScope`로 확인을 해야하는것인지 아니면 별도로 현재 코드로 체크가 안되고 IE11에서만 `$rootScope`에서 `$$phase`가 충돌하는 경우가 있는건지 확인해 봐야 할듯 합니다.\r\n\r\nangular.js에서 이를 [안티패턴](https://github.com/angular/angular.js/wiki/Anti-Patterns)으로 얘기하고 있어서 좀더 파봐야 할것도 갔고요. 참고하신 1.2.28의 소스 위치도 알려주시면 도움이 될듯합니다."}}