{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":267259811,"defaultBranch":"main","name":"research-template","ownerLogin":"opensafely","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-05-27T08:10:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/65667445?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724849416.0","currentOid":""},"activityList":{"items":[{"before":"5a212c36c710f1f8c40a474fd95b6392686450b5","after":null,"ref":"refs/heads/update-license","pushedAt":"2024-08-28T12:50:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alschaffer","name":"Andrea Schaffer","path":"/alschaffer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37759997?s=80&v=4"}},{"before":"2694785c057332956ac6e9fbd1bd1119f4389b8b","after":"c083d8f010faffb9beca747be29dbb3d78cd4b17","ref":"refs/heads/main","pushedAt":"2024-08-28T12:50:14.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alschaffer","name":"Andrea Schaffer","path":"/alschaffer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37759997?s=80&v=4"},"commit":{"message":"Merge pull request #138 from opensafely/update-license\n\nAdd year field to license file","shortMessageHtmlLink":"Merge pull request #138 from opensafely/update-license"}},{"before":null,"after":"5a212c36c710f1f8c40a474fd95b6392686450b5","ref":"refs/heads/update-license","pushedAt":"2024-08-28T12:43:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alschaffer","name":"Andrea Schaffer","path":"/alschaffer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/37759997?s=80&v=4"},"commit":{"message":"Revert \"Update LICENSE\"\n\nThis reverts commit a368dc6b0ebd989c90f87ff014a03844aad9dffd.","shortMessageHtmlLink":"Revert \"Update LICENSE\""}},{"before":"c4afa09358f6d692c9ee6263fa1ef3ce3863f506","after":null,"ref":"refs/heads/steve/use-devcontainer-files-from-docker-image","pushedAt":"2024-06-20T11:04:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"}},{"before":"35166a494bd4cf14415f2386735b2b5c61196025","after":"2694785c057332956ac6e9fbd1bd1119f4389b8b","ref":"refs/heads/main","pushedAt":"2024-06-20T11:04:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Merge pull request #137 from opensafely/steve/use-devcontainer-files-from-docker-image\n\nUse Docker image files in dev container config","shortMessageHtmlLink":"Merge pull request #137 from opensafely/steve/use-devcontainer-files-…"}},{"before":"53e7f7a4fe40cef21196fb460779e39ca6e38158","after":"c4afa09358f6d692c9ee6263fa1ef3ce3863f506","ref":"refs/heads/steve/use-devcontainer-files-from-docker-image","pushedAt":"2024-06-20T10:35:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Use Docker image files in dev container config\n\nSee opensafely-core/research-template-docker#32.\n\nIn opensafely-core/research-template-docker#57, we moved this\nconfiguration to the Docker image.\n\nWe can now update the dev container configuration here to use those\nDocker image files.\n\nNote that `postAttachCommand` now becomes a string, instead of an\nobject; the object format allows for running multiple commands in\nparallel:\n\nhttps://containers.dev/implementors/json_reference/#formatting-string-vs-array-properties\n\nHowever, for our use case, this is fine for now as we only run\none simple script (that only starts R Studio currently).","shortMessageHtmlLink":"Use Docker image files in dev container config"}},{"before":"f33d865c69210214b5e250d8fb88b1aba174e77f","after":null,"ref":"refs/heads/steve/merge-gitignore","pushedAt":"2024-06-19T15:33:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"}},{"before":"5bd648f567b52c46a82979dc072d7355b22b2fff","after":"35166a494bd4cf14415f2386735b2b5c61196025","ref":"refs/heads/main","pushedAt":"2024-06-19T15:33:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Merge pull request #136 from opensafely/steve/merge-gitignore\n\nMove `.devcontainer/.gitignore` into `.gitignore`","shortMessageHtmlLink":"Merge pull request #136 from opensafely/steve/merge-gitignore"}},{"before":null,"after":"53e7f7a4fe40cef21196fb460779e39ca6e38158","ref":"refs/heads/steve/use-devcontainer-files-from-docker-image","pushedAt":"2024-06-19T12:22:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Use Docker image files in dev container config\n\nSee opensafely-core/research-template-docker#32.\n\nIn opensafely-core/research-template-docker#57, we moved this\nconfiguration to the Docker image.\n\nWe can now update the dev container configuration here to use those\nDocker image files.\n\nNote that `postAttachCommand` now becomes a string, instead of an\nobject; the object format allows for running multiple commands in\nparallel:\n\nhttps://containers.dev/implementors/json_reference/#formatting-string-vs-array-properties\n\nHowever, for our use case, this is fine for now as we only run\none simple script (that only starts R Studio currently).","shortMessageHtmlLink":"Use Docker image files in dev container config"}},{"before":null,"after":"f33d865c69210214b5e250d8fb88b1aba174e77f","ref":"refs/heads/steve/merge-gitignore","pushedAt":"2024-06-18T12:17:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Move `.devcontainer/.gitignore` into `.gitignore`\n\nThis change removes the need for a researcher to manually copy in the\nadditional `.devcontainer/.gitignore`, when adding\nthe Codespaces configuration to an existing repository. This step can be\ntricky as mentioned in #135.","shortMessageHtmlLink":"Move .devcontainer/.gitignore into .gitignore"}},{"before":"d4ab18b2ea29d917517a1f89668752596077cba7","after":null,"ref":"refs/heads/Jongmassey/remove-stata-file","pushedAt":"2024-06-07T10:38:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"}},{"before":"12a6a9b5617c0e05754c483cbefecd465ea2d65b","after":"5bd648f567b52c46a82979dc072d7355b22b2fff","ref":"refs/heads/main","pushedAt":"2024-06-07T10:38:28.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Merge pull request #134 from opensafely/Jongmassey/remove-stata-file\n\nRemove superfluous stata file","shortMessageHtmlLink":"Merge pull request #134 from opensafely/Jongmassey/remove-stata-file"}},{"before":null,"after":"d4ab18b2ea29d917517a1f89668752596077cba7","ref":"refs/heads/Jongmassey/remove-stata-file","pushedAt":"2024-06-07T10:03:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Remove superfluous stata file\n\nIntroduced in error with #126","shortMessageHtmlLink":"Remove superfluous stata file"}},{"before":"dc9c6b14734bc7a39a526d985b3e96cf5eb6660d","after":"88418794bf068da7ea1a41231577848e378e7fb6","ref":"refs/heads/Jongmassey/set-workspace-folder","pushedAt":"2024-06-06T11:14:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Fix mount point","shortMessageHtmlLink":"Fix mount point"}},{"before":"7290f4d5c992457424ce8e03c23b9f722a2bc2c7","after":"dc9c6b14734bc7a39a526d985b3e96cf5eb6660d","ref":"refs/heads/Jongmassey/set-workspace-folder","pushedAt":"2024-06-06T11:09:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Fix mount point","shortMessageHtmlLink":"Fix mount point"}},{"before":null,"after":"7290f4d5c992457424ce8e03c23b9f722a2bc2c7","ref":"refs/heads/Jongmassey/set-workspace-folder","pushedAt":"2024-06-06T08:28:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Set workspace folder\n\nSet workspace folder to fixed value that will be the same regardless of what repo a codespace is launched from.","shortMessageHtmlLink":"Set workspace folder"}},{"before":"1d6335927316b8c3023f038d7d1459c184aa49da","after":null,"ref":"refs/heads/Jongmassey/devcontainers-readme","pushedAt":"2024-06-03T08:27:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"}},{"before":"84460d49ec18a9d035eb3a32b581965ff0c5f1aa","after":"12a6a9b5617c0e05754c483cbefecd465ea2d65b","ref":"refs/heads/main","pushedAt":"2024-06-03T08:27:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Merge pull request #131 from opensafely/Jongmassey/devcontainers-readme\n\nAdd README to devcontainers dir","shortMessageHtmlLink":"Merge pull request #131 from opensafely/Jongmassey/devcontainers-readme"}},{"before":"84460d49ec18a9d035eb3a32b581965ff0c5f1aa","after":"1d6335927316b8c3023f038d7d1459c184aa49da","ref":"refs/heads/Jongmassey/devcontainers-readme","pushedAt":"2024-06-03T07:49:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Add README to devcontainers dir\n\nWarn users not to modify and point to docs","shortMessageHtmlLink":"Add README to devcontainers dir"}},{"before":null,"after":"84460d49ec18a9d035eb3a32b581965ff0c5f1aa","ref":"refs/heads/Jongmassey/devcontainers-readme","pushedAt":"2024-06-03T07:47:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Merge pull request #129 from opensafely/steve/remove-explicit-docker-in-docker-configuration\n\nRemove the Docker in Docker feature configuration","shortMessageHtmlLink":"Merge pull request #129 from opensafely/steve/remove-explicit-docker-…"}},{"before":"7b3ef11cf321784c5526b9f9704d6ecafda074ed","after":null,"ref":"refs/heads/steve/remove-explicit-docker-in-docker-configuration","pushedAt":"2024-05-29T13:30:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"}},{"before":"bc24007b959b226bd7cc3a199252907de05148e1","after":"84460d49ec18a9d035eb3a32b581965ff0c5f1aa","ref":"refs/heads/main","pushedAt":"2024-05-29T13:30:44.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Merge pull request #129 from opensafely/steve/remove-explicit-docker-in-docker-configuration\n\nRemove the Docker in Docker feature configuration","shortMessageHtmlLink":"Merge pull request #129 from opensafely/steve/remove-explicit-docker-…"}},{"before":"f8bf82f0c2d304489d19a8031a962de8cc320157","after":"7b3ef11cf321784c5526b9f9704d6ecafda074ed","ref":"refs/heads/steve/remove-explicit-docker-in-docker-configuration","pushedAt":"2024-05-29T08:19:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Tidy up whitespace at end of file","shortMessageHtmlLink":"Tidy up whitespace at end of file"}},{"before":null,"after":"f42295a3df242546ad7c572925d4b642a611372d","ref":"refs/heads/Jongmassey/handle-empty-rstudio-prefs","pushedAt":"2024-05-28T21:29:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Handle empty rstudio-prefs.json\n\nBased on [feedback](https://bennettoxford.slack.com/archives/C069SADHP1Q/p1716892511090679) from @alschaffer there appear to be occasions when `rstudio-prefs.json` is empty at the time this script runs. \r\n\r\nIn those instances the previous call to `jq` would return a null output and so the working directory preference would not be set.\r\n\r\nWe don't yet know what these circumstances are.\r\n\r\nThis PR proposes a way to handle the empty file, we need to carefully test to ensure this setting persists beyond whatever process adds to this file in the circumstances described above.","shortMessageHtmlLink":"Handle empty rstudio-prefs.json"}},{"before":"c4e76b4d0cf768af9af9ac16314b74f7c31b2137","after":"f8bf82f0c2d304489d19a8031a962de8cc320157","ref":"refs/heads/steve/remove-explicit-docker-in-docker-configuration","pushedAt":"2024-05-28T14:51:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Tidy up whitespace at end of file","shortMessageHtmlLink":"Tidy up whitespace at end of file"}},{"before":null,"after":"c4e76b4d0cf768af9af9ac16314b74f7c31b2137","ref":"refs/heads/steve/remove-explicit-docker-in-docker-configuration","pushedAt":"2024-05-28T14:50:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"StevenMaude","name":"Steven Maude","path":"/StevenMaude","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3818079?s=80&v=4"},"commit":{"message":"Tidy up whitespace at end of file","shortMessageHtmlLink":"Tidy up whitespace at end of file"}},{"before":"06cbe3cf6cfac2a8195872bae3b0009ee06b84a1","after":null,"ref":"refs/heads/Jongmassey/venv-pip-fix","pushedAt":"2024-05-22T09:00:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"}},{"before":"76269eddab81a2ca3128ac0c9c8cbd57376356a2","after":"bc24007b959b226bd7cc3a199252907de05148e1","ref":"refs/heads/main","pushedAt":"2024-05-22T09:00:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Merge pull request #126 from opensafely/Jongmassey/venv-pip-fix\n\nRemove --user from pip install in postCreate.sh","shortMessageHtmlLink":"Merge pull request #126 from opensafely/Jongmassey/venv-pip-fix"}},{"before":"efddf078e9151fb7896f28df65a6eff6a2aa1fc5","after":"06cbe3cf6cfac2a8195872bae3b0009ee06b84a1","ref":"refs/heads/Jongmassey/venv-pip-fix","pushedAt":"2024-05-21T20:24:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Use system pip3 rather than venv pip3\n\nFollowing https://github.com/opensafely-core/research-template-docker/pull/26\nwhich added venv activation into .bashrc for the rstudio user (the default\nuser for our codespaces/devcontainer configuration), calling `pip3` would\ncall /opt/venv/bin/pip3. Within a virtualenv, the `--user` option is not\nallowed and users reported this error. Instead we decouple the installation\nof opensafely-cli from the venv so it is always available regardless of\nvirtualenv state.","shortMessageHtmlLink":"Use system pip3 rather than venv pip3"}},{"before":null,"after":"efddf078e9151fb7896f28df65a6eff6a2aa1fc5","ref":"refs/heads/Jongmassey/venv-pip-fix","pushedAt":"2024-05-20T21:08:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jongmassey","name":"Jon Massey","path":"/Jongmassey","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25795240?s=80&v=4"},"commit":{"message":"Remove --user from pip install in postCreate.sh\n\nvenv is activated prior to this script execution following\r\nhttps://github.com/opensafely-core/research-template-docker/pull/26\r\nso --user installation no longer possible","shortMessageHtmlLink":"Remove --user from pip install in postCreate.sh"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOFQxMjo1MDoxNi4wMDAwMDBazwAAAASmfwiY","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOFQxMjo1MDoxNi4wMDAwMDBazwAAAASmfwiY","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNS0yMFQyMTowODoxNS4wMDAwMDBazwAAAARPMaKN"}},"title":"Activity · opensafely/research-template"}