{"action":"created","comment":{"url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/comments/191003774","pull_request_review_id":123506050,"id":191003774,"diff_hunk":"@@ -157,6 +157,15 @@\n       },\n       \"type\": \"object\"\n     },\n+    \"filemenu:persist-and-save\": {\n+      \"default\": { },\n+      \"properties\": {\n+        \"command\": { \"default\": \"filemenu:persist-and-save\" },\n+        \"keys\": { \"default\": [\"Accel Ctrl S\"] },","path":"packages/shortcuts-extension/schema/plugin.json","position":8,"original_position":8,"commit_id":"0af12c5cfb708856ecc1b6398e2f6485871e022d","original_commit_id":"0af12c5cfb708856ecc1b6398e2f6485871e022d","user":{"login":"ian-r-rose","id":5728311,"avatar_url":"https://avatars3.githubusercontent.com/u/5728311?v=4","gravatar_id":"","url":"https://api.github.com/users/ian-r-rose","html_url":"https://github.com/ian-r-rose","followers_url":"https://api.github.com/users/ian-r-rose/followers","following_url":"https://api.github.com/users/ian-r-rose/following{/other_user}","gists_url":"https://api.github.com/users/ian-r-rose/gists{/gist_id}","starred_url":"https://api.github.com/users/ian-r-rose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ian-r-rose/subscriptions","organizations_url":"https://api.github.com/users/ian-r-rose/orgs","repos_url":"https://api.github.com/users/ian-r-rose/repos","events_url":"https://api.github.com/users/ian-r-rose/events{/privacy}","received_events_url":"https://api.github.com/users/ian-r-rose/received_events","type":"User","site_admin":false},"body":"Whoops, should have noticed earlier: this keyboard shortcut is no good, since `Accel` *is* `Ctrl` on non-Mac platforms!","created_at":"2018-05-25T20:35:33Z","updated_at":"2018-05-25T20:38:21Z","html_url":"https://github.com/jupyterlab/jupyterlab/pull/3981#discussion_r191003774","pull_request_url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/comments/191003774"},"html":{"href":"https://github.com/jupyterlab/jupyterlab/pull/3981#discussion_r191003774"},"pull_request":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981"}}},"pull_request":{"url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981","id":171063267,"html_url":"https://github.com/jupyterlab/jupyterlab/pull/3981","diff_url":"https://github.com/jupyterlab/jupyterlab/pull/3981.diff","patch_url":"https://github.com/jupyterlab/jupyterlab/pull/3981.patch","issue_url":"https://api.github.com/repos/jupyterlab/jupyterlab/issues/3981","number":3981,"state":"open","locked":false,"title":"Persist code cell collapsed","user":{"login":"saulshanabrook","id":1186124,"avatar_url":"https://avatars1.githubusercontent.com/u/1186124?v=4","gravatar_id":"","url":"https://api.github.com/users/saulshanabrook","html_url":"https://github.com/saulshanabrook","followers_url":"https://api.github.com/users/saulshanabrook/followers","following_url":"https://api.github.com/users/saulshanabrook/following{/other_user}","gists_url":"https://api.github.com/users/saulshanabrook/gists{/gist_id}","starred_url":"https://api.github.com/users/saulshanabrook/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saulshanabrook/subscriptions","organizations_url":"https://api.github.com/users/saulshanabrook/orgs","repos_url":"https://api.github.com/users/saulshanabrook/repos","events_url":"https://api.github.com/users/saulshanabrook/events{/privacy}","received_events_url":"https://api.github.com/users/saulshanabrook/received_events","type":"User","site_admin":false},"body":"This adds support for loading the collapsed state of a code cell output from the `collapsed` metadata property, as well as saving to that property when the `persistOutputsCollapsed` command is run.\r\n\r\nWe do this by just storing the persisted value of the collapsed state in the `CodeCellModel`. The view initializes itself from this value, but when it is updated (you collapse a cell) it doesn't update the model. Only when the command is explicitly run does it set the metadata value in the model, which is then saved to disk when it is serialized to JSON.\r\n\r\nThis addresses the collapsed output cells part of #3799 but doesn't work on persisting the input cells.\r\n\r\n- [x] load collapsed state to model from file\r\n- [x] load view state from model \r\n- [x] Add command to copy from view to model\r\n- [x] Add menu item as well","created_at":"2018-02-23T16:50:27Z","updated_at":"2018-05-25T20:38:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"86d8545df66c65f6d24d61f13e13b1d3bcded5fd","assignee":{"login":"ian-r-rose","id":5728311,"avatar_url":"https://avatars3.githubusercontent.com/u/5728311?v=4","gravatar_id":"","url":"https://api.github.com/users/ian-r-rose","html_url":"https://github.com/ian-r-rose","followers_url":"https://api.github.com/users/ian-r-rose/followers","following_url":"https://api.github.com/users/ian-r-rose/following{/other_user}","gists_url":"https://api.github.com/users/ian-r-rose/gists{/gist_id}","starred_url":"https://api.github.com/users/ian-r-rose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ian-r-rose/subscriptions","organizations_url":"https://api.github.com/users/ian-r-rose/orgs","repos_url":"https://api.github.com/users/ian-r-rose/repos","events_url":"https://api.github.com/users/ian-r-rose/events{/privacy}","received_events_url":"https://api.github.com/users/ian-r-rose/received_events","type":"User","site_admin":false},"assignees":[{"login":"ian-r-rose","id":5728311,"avatar_url":"https://avatars3.githubusercontent.com/u/5728311?v=4","gravatar_id":"","url":"https://api.github.com/users/ian-r-rose","html_url":"https://github.com/ian-r-rose","followers_url":"https://api.github.com/users/ian-r-rose/followers","following_url":"https://api.github.com/users/ian-r-rose/following{/other_user}","gists_url":"https://api.github.com/users/ian-r-rose/gists{/gist_id}","starred_url":"https://api.github.com/users/ian-r-rose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ian-r-rose/subscriptions","organizations_url":"https://api.github.com/users/ian-r-rose/orgs","repos_url":"https://api.github.com/users/ian-r-rose/repos","events_url":"https://api.github.com/users/ian-r-rose/events{/privacy}","received_events_url":"https://api.github.com/users/ian-r-rose/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":{"url":"https://api.github.com/repos/jupyterlab/jupyterlab/milestones/12","html_url":"https://github.com/jupyterlab/jupyterlab/milestone/12","labels_url":"https://api.github.com/repos/jupyterlab/jupyterlab/milestones/12/labels","id":3191887,"number":12,"title":"Beta 3","description":"","creator":{"login":"jasongrout","id":192614,"avatar_url":"https://avatars0.githubusercontent.com/u/192614?v=4","gravatar_id":"","url":"https://api.github.com/users/jasongrout","html_url":"https://github.com/jasongrout","followers_url":"https://api.github.com/users/jasongrout/followers","following_url":"https://api.github.com/users/jasongrout/following{/other_user}","gists_url":"https://api.github.com/users/jasongrout/gists{/gist_id}","starred_url":"https://api.github.com/users/jasongrout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasongrout/subscriptions","organizations_url":"https://api.github.com/users/jasongrout/orgs","repos_url":"https://api.github.com/users/jasongrout/repos","events_url":"https://api.github.com/users/jasongrout/events{/privacy}","received_events_url":"https://api.github.com/users/jasongrout/received_events","type":"User","site_admin":false},"open_issues":44,"closed_issues":40,"state":"open","created_at":"2018-03-15T22:31:57Z","updated_at":"2018-05-25T19:37:53Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981/commits","review_comments_url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981/comments","review_comment_url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jupyterlab/jupyterlab/issues/3981/comments","statuses_url":"https://api.github.com/repos/jupyterlab/jupyterlab/statuses/0af12c5cfb708856ecc1b6398e2f6485871e022d","head":{"label":"saulshanabrook:persist-collapsed","ref":"persist-collapsed","sha":"0af12c5cfb708856ecc1b6398e2f6485871e022d","user":{"login":"saulshanabrook","id":1186124,"avatar_url":"https://avatars1.githubusercontent.com/u/1186124?v=4","gravatar_id":"","url":"https://api.github.com/users/saulshanabrook","html_url":"https://github.com/saulshanabrook","followers_url":"https://api.github.com/users/saulshanabrook/followers","following_url":"https://api.github.com/users/saulshanabrook/following{/other_user}","gists_url":"https://api.github.com/users/saulshanabrook/gists{/gist_id}","starred_url":"https://api.github.com/users/saulshanabrook/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saulshanabrook/subscriptions","organizations_url":"https://api.github.com/users/saulshanabrook/orgs","repos_url":"https://api.github.com/users/saulshanabrook/repos","events_url":"https://api.github.com/users/saulshanabrook/events{/privacy}","received_events_url":"https://api.github.com/users/saulshanabrook/received_events","type":"User","site_admin":false},"repo":{"id":101487821,"name":"jupyterlab","full_name":"saulshanabrook/jupyterlab","owner":{"login":"saulshanabrook","id":1186124,"avatar_url":"https://avatars1.githubusercontent.com/u/1186124?v=4","gravatar_id":"","url":"https://api.github.com/users/saulshanabrook","html_url":"https://github.com/saulshanabrook","followers_url":"https://api.github.com/users/saulshanabrook/followers","following_url":"https://api.github.com/users/saulshanabrook/following{/other_user}","gists_url":"https://api.github.com/users/saulshanabrook/gists{/gist_id}","starred_url":"https://api.github.com/users/saulshanabrook/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saulshanabrook/subscriptions","organizations_url":"https://api.github.com/users/saulshanabrook/orgs","repos_url":"https://api.github.com/users/saulshanabrook/repos","events_url":"https://api.github.com/users/saulshanabrook/events{/privacy}","received_events_url":"https://api.github.com/users/saulshanabrook/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/saulshanabrook/jupyterlab","description":"JupyterLab computational environment. This is a very early preview, and is not suitable for general usage yet.","fork":true,"url":"https://api.github.com/repos/saulshanabrook/jupyterlab","forks_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/forks","keys_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/keys{/key_id}","collaborators_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/teams","hooks_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/hooks","issue_events_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/issues/events{/number}","events_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/events","assignees_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/assignees{/user}","branches_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/branches{/branch}","tags_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/tags","blobs_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/git/refs{/sha}","trees_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/git/trees{/sha}","statuses_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/statuses/{sha}","languages_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/languages","stargazers_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/stargazers","contributors_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/contributors","subscribers_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/subscribers","subscription_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/subscription","commits_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/commits{/sha}","git_commits_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/git/commits{/sha}","comments_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/comments{/number}","issue_comment_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/issues/comments{/number}","contents_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/contents/{+path}","compare_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/compare/{base}...{head}","merges_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/merges","archive_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/downloads","issues_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/issues{/number}","pulls_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/pulls{/number}","milestones_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/milestones{/number}","notifications_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/labels{/name}","releases_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/releases{/id}","deployments_url":"https://api.github.com/repos/saulshanabrook/jupyterlab/deployments","created_at":"2017-08-26T13:35:10Z","updated_at":"2018-02-19T13:33:59Z","pushed_at":"2018-05-25T18:16:54Z","git_url":"git://github.com/saulshanabrook/jupyterlab.git","ssh_url":"git@github.com:saulshanabrook/jupyterlab.git","clone_url":"https://github.com/saulshanabrook/jupyterlab.git","svn_url":"https://github.com/saulshanabrook/jupyterlab","homepage":"","size":56890,"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":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jupyterlab:master","ref":"master","sha":"6750bef809abcc561772f9078db8427336e55a04","user":{"login":"jupyterlab","id":22800682,"avatar_url":"https://avatars1.githubusercontent.com/u/22800682?v=4","gravatar_id":"","url":"https://api.github.com/users/jupyterlab","html_url":"https://github.com/jupyterlab","followers_url":"https://api.github.com/users/jupyterlab/followers","following_url":"https://api.github.com/users/jupyterlab/following{/other_user}","gists_url":"https://api.github.com/users/jupyterlab/gists{/gist_id}","starred_url":"https://api.github.com/users/jupyterlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jupyterlab/subscriptions","organizations_url":"https://api.github.com/users/jupyterlab/orgs","repos_url":"https://api.github.com/users/jupyterlab/repos","events_url":"https://api.github.com/users/jupyterlab/events{/privacy}","received_events_url":"https://api.github.com/users/jupyterlab/received_events","type":"Organization","site_admin":false},"repo":{"id":60374819,"name":"jupyterlab","full_name":"jupyterlab/jupyterlab","owner":{"login":"jupyterlab","id":22800682,"avatar_url":"https://avatars1.githubusercontent.com/u/22800682?v=4","gravatar_id":"","url":"https://api.github.com/users/jupyterlab","html_url":"https://github.com/jupyterlab","followers_url":"https://api.github.com/users/jupyterlab/followers","following_url":"https://api.github.com/users/jupyterlab/following{/other_user}","gists_url":"https://api.github.com/users/jupyterlab/gists{/gist_id}","starred_url":"https://api.github.com/users/jupyterlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jupyterlab/subscriptions","organizations_url":"https://api.github.com/users/jupyterlab/orgs","repos_url":"https://api.github.com/users/jupyterlab/repos","events_url":"https://api.github.com/users/jupyterlab/events{/privacy}","received_events_url":"https://api.github.com/users/jupyterlab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jupyterlab/jupyterlab","description":"JupyterLab computational environment.","fork":false,"url":"https://api.github.com/repos/jupyterlab/jupyterlab","forks_url":"https://api.github.com/repos/jupyterlab/jupyterlab/forks","keys_url":"https://api.github.com/repos/jupyterlab/jupyterlab/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jupyterlab/jupyterlab/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jupyterlab/jupyterlab/teams","hooks_url":"https://api.github.com/repos/jupyterlab/jupyterlab/hooks","issue_events_url":"https://api.github.com/repos/jupyterlab/jupyterlab/issues/events{/number}","events_url":"https://api.github.com/repos/jupyterlab/jupyterlab/events","assignees_url":"https://api.github.com/repos/jupyterlab/jupyterlab/assignees{/user}","branches_url":"https://api.github.com/repos/jupyterlab/jupyterlab/branches{/branch}","tags_url":"https://api.github.com/repos/jupyterlab/jupyterlab/tags","blobs_url":"https://api.github.com/repos/jupyterlab/jupyterlab/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jupyterlab/jupyterlab/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jupyterlab/jupyterlab/git/refs{/sha}","trees_url":"https://api.github.com/repos/jupyterlab/jupyterlab/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jupyterlab/jupyterlab/statuses/{sha}","languages_url":"https://api.github.com/repos/jupyterlab/jupyterlab/languages","stargazers_url":"https://api.github.com/repos/jupyterlab/jupyterlab/stargazers","contributors_url":"https://api.github.com/repos/jupyterlab/jupyterlab/contributors","subscribers_url":"https://api.github.com/repos/jupyterlab/jupyterlab/subscribers","subscription_url":"https://api.github.com/repos/jupyterlab/jupyterlab/subscription","commits_url":"https://api.github.com/repos/jupyterlab/jupyterlab/commits{/sha}","git_commits_url":"https://api.github.com/repos/jupyterlab/jupyterlab/git/commits{/sha}","comments_url":"https://api.github.com/repos/jupyterlab/jupyterlab/comments{/number}","issue_comment_url":"https://api.github.com/repos/jupyterlab/jupyterlab/issues/comments{/number}","contents_url":"https://api.github.com/repos/jupyterlab/jupyterlab/contents/{+path}","compare_url":"https://api.github.com/repos/jupyterlab/jupyterlab/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jupyterlab/jupyterlab/merges","archive_url":"https://api.github.com/repos/jupyterlab/jupyterlab/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jupyterlab/jupyterlab/downloads","issues_url":"https://api.github.com/repos/jupyterlab/jupyterlab/issues{/number}","pulls_url":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls{/number}","milestones_url":"https://api.github.com/repos/jupyterlab/jupyterlab/milestones{/number}","notifications_url":"https://api.github.com/repos/jupyterlab/jupyterlab/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jupyterlab/jupyterlab/labels{/name}","releases_url":"https://api.github.com/repos/jupyterlab/jupyterlab/releases{/id}","deployments_url":"https://api.github.com/repos/jupyterlab/jupyterlab/deployments","created_at":"2016-06-03T20:09:17Z","updated_at":"2018-05-25T20:12:41Z","pushed_at":"2018-05-25T20:12:33Z","git_url":"git://github.com/jupyterlab/jupyterlab.git","ssh_url":"git@github.com:jupyterlab/jupyterlab.git","clone_url":"https://github.com/jupyterlab/jupyterlab.git","svn_url":"https://github.com/jupyterlab/jupyterlab","homepage":"","size":57339,"stargazers_count":5459,"watchers_count":5459,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":654,"mirror_url":null,"archived":false,"open_issues_count":827,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":654,"open_issues":827,"watchers":5459,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981"},"html":{"href":"https://github.com/jupyterlab/jupyterlab/pull/3981"},"issue":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/issues/3981"},"comments":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/issues/3981/comments"},"review_comments":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981/comments"},"review_comment":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/pulls/3981/commits"},"statuses":{"href":"https://api.github.com/repos/jupyterlab/jupyterlab/statuses/0af12c5cfb708856ecc1b6398e2f6485871e022d"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"ian-r-rose"}}