{"action":"closed","number":1688,"pull_request":{"url":"https://api.github.com/repos/mopidy/mopidy/pulls/1688","id":196911450,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk2OTExNDUw","html_url":"https://github.com/mopidy/mopidy/pull/1688","diff_url":"https://github.com/mopidy/mopidy/pull/1688.diff","patch_url":"https://github.com/mopidy/mopidy/pull/1688.patch","issue_url":"https://api.github.com/repos/mopidy/mopidy/issues/1688","number":1688,"state":"closed","locked":false,"title":"Feature: Continue playback where left off for specific URI schemes","user":{"login":"riher","id":14839707,"node_id":"MDQ6VXNlcjE0ODM5NzA3","avatar_url":"https://avatars1.githubusercontent.com/u/14839707?v=4","gravatar_id":"","url":"https://api.github.com/users/riher","html_url":"https://github.com/riher","followers_url":"https://api.github.com/users/riher/followers","following_url":"https://api.github.com/users/riher/following{/other_user}","gists_url":"https://api.github.com/users/riher/gists{/gist_id}","starred_url":"https://api.github.com/users/riher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/riher/subscriptions","organizations_url":"https://api.github.com/users/riher/orgs","repos_url":"https://api.github.com/users/riher/repos","events_url":"https://api.github.com/users/riher/events{/privacy}","received_events_url":"https://api.github.com/users/riher/received_events","type":"User","site_admin":false},"body":"This is a feature I find myself dearly missing when using the awesome mopidy-podcast backend: Being able to stop playback in the middle of a podcast and having it resume where left off when coming back.\r\nAny podcast app will offer this functionality.\r\n\r\nSince the implementation didn't really work in the mopidy-podcast backend and this feature can potentially be applied to any track, I've implemented the function in the mopidy core. As this is my first time contributing to mopidy I might've misplaced my code and/or structured it badly. Therefore any feedback where it might fit better is appreciated.\r\n\r\nAlso I'm not happy with the naming of this function. I've settled on \"continue playback\" but if you want to really cover what this does you'll write a lengthy paragraph. So if anyone has an idea for a snappy name, that'd be great, too.\r\n\r\nIncluded:\r\n- Working code with a config option (you have to explicitly enable the functionality for URI schemes)\r\n- 100% test coverage\r\n- Added documentation for the config option\r\n\r\nNot included:\r\n- Any way for a frontend to see the current playback position (big TODO) or ignore the last playback position","created_at":"2018-06-23T17:00:53Z","updated_at":"2018-07-04T10:45:13Z","closed_at":"2018-07-04T10:45:13Z","merged_at":null,"merge_commit_sha":"4476585a003d877d9e6d9513aa8fbaea6922f672","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mopidy/mopidy/pulls/1688/commits","review_comments_url":"https://api.github.com/repos/mopidy/mopidy/pulls/1688/comments","review_comment_url":"https://api.github.com/repos/mopidy/mopidy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mopidy/mopidy/issues/1688/comments","statuses_url":"https://api.github.com/repos/mopidy/mopidy/statuses/35f02e8e84b7811c1664863269215d8f90a72f5d","head":{"label":"riher:feature/resume-playback","ref":"feature/resume-playback","sha":"35f02e8e84b7811c1664863269215d8f90a72f5d","user":{"login":"riher","id":14839707,"node_id":"MDQ6VXNlcjE0ODM5NzA3","avatar_url":"https://avatars1.githubusercontent.com/u/14839707?v=4","gravatar_id":"","url":"https://api.github.com/users/riher","html_url":"https://github.com/riher","followers_url":"https://api.github.com/users/riher/followers","following_url":"https://api.github.com/users/riher/following{/other_user}","gists_url":"https://api.github.com/users/riher/gists{/gist_id}","starred_url":"https://api.github.com/users/riher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/riher/subscriptions","organizations_url":"https://api.github.com/users/riher/orgs","repos_url":"https://api.github.com/users/riher/repos","events_url":"https://api.github.com/users/riher/events{/privacy}","received_events_url":"https://api.github.com/users/riher/received_events","type":"User","site_admin":false},"repo":{"id":135677696,"node_id":"MDEwOlJlcG9zaXRvcnkxMzU2Nzc2OTY=","name":"mopidy","full_name":"riher/mopidy","owner":{"login":"riher","id":14839707,"node_id":"MDQ6VXNlcjE0ODM5NzA3","avatar_url":"https://avatars1.githubusercontent.com/u/14839707?v=4","gravatar_id":"","url":"https://api.github.com/users/riher","html_url":"https://github.com/riher","followers_url":"https://api.github.com/users/riher/followers","following_url":"https://api.github.com/users/riher/following{/other_user}","gists_url":"https://api.github.com/users/riher/gists{/gist_id}","starred_url":"https://api.github.com/users/riher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/riher/subscriptions","organizations_url":"https://api.github.com/users/riher/orgs","repos_url":"https://api.github.com/users/riher/repos","events_url":"https://api.github.com/users/riher/events{/privacy}","received_events_url":"https://api.github.com/users/riher/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/riher/mopidy","description":"Mopidy is an extensible music server that plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a range of MPD and web clients.","fork":true,"url":"https://api.github.com/repos/riher/mopidy","forks_url":"https://api.github.com/repos/riher/mopidy/forks","keys_url":"https://api.github.com/repos/riher/mopidy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/riher/mopidy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/riher/mopidy/teams","hooks_url":"https://api.github.com/repos/riher/mopidy/hooks","issue_events_url":"https://api.github.com/repos/riher/mopidy/issues/events{/number}","events_url":"https://api.github.com/repos/riher/mopidy/events","assignees_url":"https://api.github.com/repos/riher/mopidy/assignees{/user}","branches_url":"https://api.github.com/repos/riher/mopidy/branches{/branch}","tags_url":"https://api.github.com/repos/riher/mopidy/tags","blobs_url":"https://api.github.com/repos/riher/mopidy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/riher/mopidy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/riher/mopidy/git/refs{/sha}","trees_url":"https://api.github.com/repos/riher/mopidy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/riher/mopidy/statuses/{sha}","languages_url":"https://api.github.com/repos/riher/mopidy/languages","stargazers_url":"https://api.github.com/repos/riher/mopidy/stargazers","contributors_url":"https://api.github.com/repos/riher/mopidy/contributors","subscribers_url":"https://api.github.com/repos/riher/mopidy/subscribers","subscription_url":"https://api.github.com/repos/riher/mopidy/subscription","commits_url":"https://api.github.com/repos/riher/mopidy/commits{/sha}","git_commits_url":"https://api.github.com/repos/riher/mopidy/git/commits{/sha}","comments_url":"https://api.github.com/repos/riher/mopidy/comments{/number}","issue_comment_url":"https://api.github.com/repos/riher/mopidy/issues/comments{/number}","contents_url":"https://api.github.com/repos/riher/mopidy/contents/{+path}","compare_url":"https://api.github.com/repos/riher/mopidy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/riher/mopidy/merges","archive_url":"https://api.github.com/repos/riher/mopidy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/riher/mopidy/downloads","issues_url":"https://api.github.com/repos/riher/mopidy/issues{/number}","pulls_url":"https://api.github.com/repos/riher/mopidy/pulls{/number}","milestones_url":"https://api.github.com/repos/riher/mopidy/milestones{/number}","notifications_url":"https://api.github.com/repos/riher/mopidy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/riher/mopidy/labels{/name}","releases_url":"https://api.github.com/repos/riher/mopidy/releases{/id}","deployments_url":"https://api.github.com/repos/riher/mopidy/deployments","created_at":"2018-06-01T06:37:19Z","updated_at":"2018-06-01T06:37:22Z","pushed_at":"2018-06-23T16:45:24Z","git_url":"git://github.com/riher/mopidy.git","ssh_url":"git@github.com:riher/mopidy.git","clone_url":"https://github.com/riher/mopidy.git","svn_url":"https://github.com/riher/mopidy","homepage":"https://www.mopidy.com","size":21647,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"mopidy:develop","ref":"develop","sha":"f267e8db206df1a9e5c7967af1d1733ab9ce4290","user":{"login":"mopidy","id":451998,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ1MTk5OA==","avatar_url":"https://avatars2.githubusercontent.com/u/451998?v=4","gravatar_id":"","url":"https://api.github.com/users/mopidy","html_url":"https://github.com/mopidy","followers_url":"https://api.github.com/users/mopidy/followers","following_url":"https://api.github.com/users/mopidy/following{/other_user}","gists_url":"https://api.github.com/users/mopidy/gists{/gist_id}","starred_url":"https://api.github.com/users/mopidy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mopidy/subscriptions","organizations_url":"https://api.github.com/users/mopidy/orgs","repos_url":"https://api.github.com/users/mopidy/repos","events_url":"https://api.github.com/users/mopidy/events{/privacy}","received_events_url":"https://api.github.com/users/mopidy/received_events","type":"Organization","site_admin":false},"repo":{"id":447036,"node_id":"MDEwOlJlcG9zaXRvcnk0NDcwMzY=","name":"mopidy","full_name":"mopidy/mopidy","owner":{"login":"mopidy","id":451998,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ1MTk5OA==","avatar_url":"https://avatars2.githubusercontent.com/u/451998?v=4","gravatar_id":"","url":"https://api.github.com/users/mopidy","html_url":"https://github.com/mopidy","followers_url":"https://api.github.com/users/mopidy/followers","following_url":"https://api.github.com/users/mopidy/following{/other_user}","gists_url":"https://api.github.com/users/mopidy/gists{/gist_id}","starred_url":"https://api.github.com/users/mopidy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mopidy/subscriptions","organizations_url":"https://api.github.com/users/mopidy/orgs","repos_url":"https://api.github.com/users/mopidy/repos","events_url":"https://api.github.com/users/mopidy/events{/privacy}","received_events_url":"https://api.github.com/users/mopidy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mopidy/mopidy","description":"Mopidy is an extensible music server that plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a range of MPD and web clients.","fork":false,"url":"https://api.github.com/repos/mopidy/mopidy","forks_url":"https://api.github.com/repos/mopidy/mopidy/forks","keys_url":"https://api.github.com/repos/mopidy/mopidy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mopidy/mopidy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mopidy/mopidy/teams","hooks_url":"https://api.github.com/repos/mopidy/mopidy/hooks","issue_events_url":"https://api.github.com/repos/mopidy/mopidy/issues/events{/number}","events_url":"https://api.github.com/repos/mopidy/mopidy/events","assignees_url":"https://api.github.com/repos/mopidy/mopidy/assignees{/user}","branches_url":"https://api.github.com/repos/mopidy/mopidy/branches{/branch}","tags_url":"https://api.github.com/repos/mopidy/mopidy/tags","blobs_url":"https://api.github.com/repos/mopidy/mopidy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mopidy/mopidy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mopidy/mopidy/git/refs{/sha}","trees_url":"https://api.github.com/repos/mopidy/mopidy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mopidy/mopidy/statuses/{sha}","languages_url":"https://api.github.com/repos/mopidy/mopidy/languages","stargazers_url":"https://api.github.com/repos/mopidy/mopidy/stargazers","contributors_url":"https://api.github.com/repos/mopidy/mopidy/contributors","subscribers_url":"https://api.github.com/repos/mopidy/mopidy/subscribers","subscription_url":"https://api.github.com/repos/mopidy/mopidy/subscription","commits_url":"https://api.github.com/repos/mopidy/mopidy/commits{/sha}","git_commits_url":"https://api.github.com/repos/mopidy/mopidy/git/commits{/sha}","comments_url":"https://api.github.com/repos/mopidy/mopidy/comments{/number}","issue_comment_url":"https://api.github.com/repos/mopidy/mopidy/issues/comments{/number}","contents_url":"https://api.github.com/repos/mopidy/mopidy/contents/{+path}","compare_url":"https://api.github.com/repos/mopidy/mopidy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mopidy/mopidy/merges","archive_url":"https://api.github.com/repos/mopidy/mopidy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mopidy/mopidy/downloads","issues_url":"https://api.github.com/repos/mopidy/mopidy/issues{/number}","pulls_url":"https://api.github.com/repos/mopidy/mopidy/pulls{/number}","milestones_url":"https://api.github.com/repos/mopidy/mopidy/milestones{/number}","notifications_url":"https://api.github.com/repos/mopidy/mopidy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mopidy/mopidy/labels{/name}","releases_url":"https://api.github.com/repos/mopidy/mopidy/releases{/id}","deployments_url":"https://api.github.com/repos/mopidy/mopidy/deployments","created_at":"2009-12-23T14:25:36Z","updated_at":"2018-07-03T22:24:25Z","pushed_at":"2018-07-02T16:25:17Z","git_url":"git://github.com/mopidy/mopidy.git","ssh_url":"git@github.com:mopidy/mopidy.git","clone_url":"https://github.com/mopidy/mopidy.git","svn_url":"https://github.com/mopidy/mopidy","homepage":"https://www.mopidy.com","size":21640,"stargazers_count":5272,"watchers_count":5272,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":529,"mirror_url":null,"archived":false,"open_issues_count":202,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":529,"open_issues":202,"watchers":5272,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/mopidy/mopidy/pulls/1688"},"html":{"href":"https://github.com/mopidy/mopidy/pull/1688"},"issue":{"href":"https://api.github.com/repos/mopidy/mopidy/issues/1688"},"comments":{"href":"https://api.github.com/repos/mopidy/mopidy/issues/1688/comments"},"review_comments":{"href":"https://api.github.com/repos/mopidy/mopidy/pulls/1688/comments"},"review_comment":{"href":"https://api.github.com/repos/mopidy/mopidy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mopidy/mopidy/pulls/1688/commits"},"statuses":{"href":"https://api.github.com/repos/mopidy/mopidy/statuses/35f02e8e84b7811c1664863269215d8f90a72f5d"}},"author_association":"NONE","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":7,"review_comments":0,"maintainer_can_modify":false,"commits":12,"additions":240,"deletions":1,"changed_files":6}}
{"actor":{"display_login":"kingosticks"}}