{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/comments/25373881","id":25373881,"diff_hunk":"@@ -6515,7 +6515,14 @@ ICAL.Event = (function() {\n     },\n \n     get endDate() {\n-      return this._firstProp('dtend');\n+      var end_date = this._firstProp('dtend');\n+      if(end_date === null) {\n+        end_date = this.startDate.clone();\n+        if(this.startDate.isDate) {\n+          end_date.addDuration(ICAL.Duration.fromSeconds(86400));","path":"build/ical.js","position":9,"original_position":9,"commit_id":"cc1347d03912710a5d378a2bc0f88307affdda2c","original_commit_id":"cc1347d03912710a5d378a2bc0f88307affdda2c","user":{"login":"kewisch","id":607198,"avatar_url":"https://avatars.githubusercontent.com/u/607198?v=3","gravatar_id":"","url":"https://api.github.com/users/kewisch","html_url":"https://github.com/kewisch","followers_url":"https://api.github.com/users/kewisch/followers","following_url":"https://api.github.com/users/kewisch/following{/other_user}","gists_url":"https://api.github.com/users/kewisch/gists{/gist_id}","starred_url":"https://api.github.com/users/kewisch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kewisch/subscriptions","organizations_url":"https://api.github.com/users/kewisch/orgs","repos_url":"https://api.github.com/users/kewisch/repos","events_url":"https://api.github.com/users/kewisch/events{/privacy}","received_events_url":"https://api.github.com/users/kewisch/received_events","type":"User","site_admin":false},"body":"Some minor style nits: Could you add spaces after `if` and use a camelCase variable name?\r\nAlso, maybe it would be faster to just add 1 day to the end date using the day property, instead of constructing a duration object just to add the duration?","created_at":"2015-02-25T20:06:05Z","updated_at":"2015-02-25T20:06:05Z","html_url":"https://github.com/mozilla-comm/ical.js/pull/129#discussion_r25373881","pull_request_url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129","_links":{"self":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/comments/25373881"},"html":{"href":"https://github.com/mozilla-comm/ical.js/pull/129#discussion_r25373881"},"pull_request":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129","id":29937997,"html_url":"https://github.com/mozilla-comm/ical.js/pull/129","diff_url":"https://github.com/mozilla-comm/ical.js/pull/129.diff","patch_url":"https://github.com/mozilla-comm/ical.js/pull/129.patch","issue_url":"https://api.github.com/repos/mozilla-comm/ical.js/issues/129","number":129,"state":"open","locked":false,"title":"Recurring events without dtend","user":{"login":"ehourigan","id":1648564,"avatar_url":"https://avatars.githubusercontent.com/u/1648564?v=3","gravatar_id":"","url":"https://api.github.com/users/ehourigan","html_url":"https://github.com/ehourigan","followers_url":"https://api.github.com/users/ehourigan/followers","following_url":"https://api.github.com/users/ehourigan/following{/other_user}","gists_url":"https://api.github.com/users/ehourigan/gists{/gist_id}","starred_url":"https://api.github.com/users/ehourigan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ehourigan/subscriptions","organizations_url":"https://api.github.com/users/ehourigan/orgs","repos_url":"https://api.github.com/users/ehourigan/repos","events_url":"https://api.github.com/users/ehourigan/events{/privacy}","received_events_url":"https://api.github.com/users/ehourigan/received_events","type":"User","site_admin":false},"body":"We came across an event from a google generated ical feed that has a 'vevent' with a 'rrule' set but does not have a 'dtend' property.  When calling event.getOccurrenceDetails(itr) the function errors trying to retrieve a duration.  Based on the ruleset below we have submitted this pr (with test) for review.\r\n\r\nopen to suggestions\r\n\r\nthanks\r\n\r\nfor reference:\r\nRFC 5545\r\n3.6.1. Event Component\r\nFor cases where a \"VEVENT\" calendar component\r\nspecifies a \"DTSTART\" property with a DATE value type but no\r\n\"DTEND\" nor \"DURATION\" property, the event's duration is taken to\r\nbe one day. For cases where a \"VEVENT\" calendar component\r\nspecifies a \"DTSTART\" property with a DATE-TIME value type but no\r\n\"DTEND\" property, the event ends on the same calendar date and\r\ntime of day specified by the \"DTSTART\" property.","created_at":"2015-02-24T21:32:51Z","updated_at":"2015-02-25T20:06:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"028616e28b3313ba83681740f64f7ff3c003bd59","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129/commits","review_comments_url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129/comments","review_comment_url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla-comm/ical.js/issues/129/comments","statuses_url":"https://api.github.com/repos/mozilla-comm/ical.js/statuses/cc1347d03912710a5d378a2bc0f88307affdda2c","head":{"label":"bluebridgedigital:master","ref":"master","sha":"cc1347d03912710a5d378a2bc0f88307affdda2c","user":{"login":"bluebridgedigital","id":2899886,"avatar_url":"https://avatars.githubusercontent.com/u/2899886?v=3","gravatar_id":"","url":"https://api.github.com/users/bluebridgedigital","html_url":"https://github.com/bluebridgedigital","followers_url":"https://api.github.com/users/bluebridgedigital/followers","following_url":"https://api.github.com/users/bluebridgedigital/following{/other_user}","gists_url":"https://api.github.com/users/bluebridgedigital/gists{/gist_id}","starred_url":"https://api.github.com/users/bluebridgedigital/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluebridgedigital/subscriptions","organizations_url":"https://api.github.com/users/bluebridgedigital/orgs","repos_url":"https://api.github.com/users/bluebridgedigital/repos","events_url":"https://api.github.com/users/bluebridgedigital/events{/privacy}","received_events_url":"https://api.github.com/users/bluebridgedigital/received_events","type":"Organization","site_admin":false},"repo":{"id":31277812,"name":"ical.js","full_name":"bluebridgedigital/ical.js","owner":{"login":"bluebridgedigital","id":2899886,"avatar_url":"https://avatars.githubusercontent.com/u/2899886?v=3","gravatar_id":"","url":"https://api.github.com/users/bluebridgedigital","html_url":"https://github.com/bluebridgedigital","followers_url":"https://api.github.com/users/bluebridgedigital/followers","following_url":"https://api.github.com/users/bluebridgedigital/following{/other_user}","gists_url":"https://api.github.com/users/bluebridgedigital/gists{/gist_id}","starred_url":"https://api.github.com/users/bluebridgedigital/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bluebridgedigital/subscriptions","organizations_url":"https://api.github.com/users/bluebridgedigital/orgs","repos_url":"https://api.github.com/users/bluebridgedigital/repos","events_url":"https://api.github.com/users/bluebridgedigital/events{/privacy}","received_events_url":"https://api.github.com/users/bluebridgedigital/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bluebridgedigital/ical.js","description":"Javascript parser for ics files (rfc5545)","fork":true,"url":"https://api.github.com/repos/bluebridgedigital/ical.js","forks_url":"https://api.github.com/repos/bluebridgedigital/ical.js/forks","keys_url":"https://api.github.com/repos/bluebridgedigital/ical.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bluebridgedigital/ical.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bluebridgedigital/ical.js/teams","hooks_url":"https://api.github.com/repos/bluebridgedigital/ical.js/hooks","issue_events_url":"https://api.github.com/repos/bluebridgedigital/ical.js/issues/events{/number}","events_url":"https://api.github.com/repos/bluebridgedigital/ical.js/events","assignees_url":"https://api.github.com/repos/bluebridgedigital/ical.js/assignees{/user}","branches_url":"https://api.github.com/repos/bluebridgedigital/ical.js/branches{/branch}","tags_url":"https://api.github.com/repos/bluebridgedigital/ical.js/tags","blobs_url":"https://api.github.com/repos/bluebridgedigital/ical.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bluebridgedigital/ical.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bluebridgedigital/ical.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/bluebridgedigital/ical.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bluebridgedigital/ical.js/statuses/{sha}","languages_url":"https://api.github.com/repos/bluebridgedigital/ical.js/languages","stargazers_url":"https://api.github.com/repos/bluebridgedigital/ical.js/stargazers","contributors_url":"https://api.github.com/repos/bluebridgedigital/ical.js/contributors","subscribers_url":"https://api.github.com/repos/bluebridgedigital/ical.js/subscribers","subscription_url":"https://api.github.com/repos/bluebridgedigital/ical.js/subscription","commits_url":"https://api.github.com/repos/bluebridgedigital/ical.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/bluebridgedigital/ical.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/bluebridgedigital/ical.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/bluebridgedigital/ical.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/bluebridgedigital/ical.js/contents/{+path}","compare_url":"https://api.github.com/repos/bluebridgedigital/ical.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bluebridgedigital/ical.js/merges","archive_url":"https://api.github.com/repos/bluebridgedigital/ical.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bluebridgedigital/ical.js/downloads","issues_url":"https://api.github.com/repos/bluebridgedigital/ical.js/issues{/number}","pulls_url":"https://api.github.com/repos/bluebridgedigital/ical.js/pulls{/number}","milestones_url":"https://api.github.com/repos/bluebridgedigital/ical.js/milestones{/number}","notifications_url":"https://api.github.com/repos/bluebridgedigital/ical.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bluebridgedigital/ical.js/labels{/name}","releases_url":"https://api.github.com/repos/bluebridgedigital/ical.js/releases{/id}","created_at":"2015-02-24T19:32:14Z","updated_at":"2015-02-24T21:31:20Z","pushed_at":"2015-02-24T21:31:20Z","git_url":"git://github.com/bluebridgedigital/ical.js.git","ssh_url":"git@github.com:bluebridgedigital/ical.js.git","clone_url":"https://github.com/bluebridgedigital/ical.js.git","svn_url":"https://github.com/bluebridgedigital/ical.js","homepage":"http://mozilla-comm.github.com/ical.js/","size":2079,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mozilla-comm:master","ref":"master","sha":"e5964736ce81331d6503320e0d386dab61dda1be","user":{"login":"mozilla-comm","id":3663132,"avatar_url":"https://avatars.githubusercontent.com/u/3663132?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla-comm","html_url":"https://github.com/mozilla-comm","followers_url":"https://api.github.com/users/mozilla-comm/followers","following_url":"https://api.github.com/users/mozilla-comm/following{/other_user}","gists_url":"https://api.github.com/users/mozilla-comm/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla-comm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla-comm/subscriptions","organizations_url":"https://api.github.com/users/mozilla-comm/orgs","repos_url":"https://api.github.com/users/mozilla-comm/repos","events_url":"https://api.github.com/users/mozilla-comm/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla-comm/received_events","type":"Organization","site_admin":false},"repo":{"id":5025286,"name":"ical.js","full_name":"mozilla-comm/ical.js","owner":{"login":"mozilla-comm","id":3663132,"avatar_url":"https://avatars.githubusercontent.com/u/3663132?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla-comm","html_url":"https://github.com/mozilla-comm","followers_url":"https://api.github.com/users/mozilla-comm/followers","following_url":"https://api.github.com/users/mozilla-comm/following{/other_user}","gists_url":"https://api.github.com/users/mozilla-comm/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla-comm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla-comm/subscriptions","organizations_url":"https://api.github.com/users/mozilla-comm/orgs","repos_url":"https://api.github.com/users/mozilla-comm/repos","events_url":"https://api.github.com/users/mozilla-comm/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla-comm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla-comm/ical.js","description":"Javascript parser for ics files (rfc5545)","fork":false,"url":"https://api.github.com/repos/mozilla-comm/ical.js","forks_url":"https://api.github.com/repos/mozilla-comm/ical.js/forks","keys_url":"https://api.github.com/repos/mozilla-comm/ical.js/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla-comm/ical.js/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla-comm/ical.js/teams","hooks_url":"https://api.github.com/repos/mozilla-comm/ical.js/hooks","issue_events_url":"https://api.github.com/repos/mozilla-comm/ical.js/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla-comm/ical.js/events","assignees_url":"https://api.github.com/repos/mozilla-comm/ical.js/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla-comm/ical.js/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla-comm/ical.js/tags","blobs_url":"https://api.github.com/repos/mozilla-comm/ical.js/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla-comm/ical.js/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla-comm/ical.js/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla-comm/ical.js/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla-comm/ical.js/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla-comm/ical.js/languages","stargazers_url":"https://api.github.com/repos/mozilla-comm/ical.js/stargazers","contributors_url":"https://api.github.com/repos/mozilla-comm/ical.js/contributors","subscribers_url":"https://api.github.com/repos/mozilla-comm/ical.js/subscribers","subscription_url":"https://api.github.com/repos/mozilla-comm/ical.js/subscription","commits_url":"https://api.github.com/repos/mozilla-comm/ical.js/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla-comm/ical.js/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla-comm/ical.js/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla-comm/ical.js/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla-comm/ical.js/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla-comm/ical.js/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla-comm/ical.js/merges","archive_url":"https://api.github.com/repos/mozilla-comm/ical.js/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla-comm/ical.js/downloads","issues_url":"https://api.github.com/repos/mozilla-comm/ical.js/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla-comm/ical.js/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla-comm/ical.js/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla-comm/ical.js/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla-comm/ical.js/labels{/name}","releases_url":"https://api.github.com/repos/mozilla-comm/ical.js/releases{/id}","created_at":"2012-07-13T21:30:56Z","updated_at":"2015-02-25T18:51:27Z","pushed_at":"2015-02-25T18:51:27Z","git_url":"git://github.com/mozilla-comm/ical.js.git","ssh_url":"git@github.com:mozilla-comm/ical.js.git","clone_url":"https://github.com/mozilla-comm/ical.js.git","svn_url":"https://github.com/mozilla-comm/ical.js","homepage":"http://mozilla-comm.github.com/ical.js/","size":2079,"stargazers_count":83,"watchers_count":83,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":28,"mirror_url":null,"open_issues_count":21,"forks":28,"open_issues":21,"watchers":83,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129"},"html":{"href":"https://github.com/mozilla-comm/ical.js/pull/129"},"issue":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/issues/129"},"comments":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/issues/129/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/pulls/129/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla-comm/ical.js/statuses/cc1347d03912710a5d378a2bc0f88307affdda2c"}}}}