{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1123534,"defaultBranch":"main","name":"Spacelog","ownerLogin":"Spacelog","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-11-29T21:51:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/502504?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712044744.0","currentOid":""},"activityList":{"items":[{"before":"a1bcec25d365cd5ac32aa67dc01287e93c1e63c9","after":"28b940cd80f4fae381b965e44023e47bae66e309","ref":"refs/heads/fully-working-devenv","pushedAt":"2024-04-02T14:21:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Allow generated assets to show in development mode\n\nIn development, we mount our working directory over the one in the\ncontainer, meaning that generated assets (like the stats graphs) aren't\naccessible. Rather than rebuild them into our working directory, this\nadds the version collected during the container build as a last-resort\nplace to serve them from.\n\nWe're only setting this in development mode to avoid having\n`collectstatic` (which we run in `live` mode) try to collect assets\nfrom its own target directory.","shortMessageHtmlLink":"Allow generated assets to show in development mode"}},{"before":"e691e0e404dbc4e20b410cf9438794b095a26c67","after":"a1bcec25d365cd5ac32aa67dc01287e93c1e63c9","ref":"refs/heads/fully-working-devenv","pushedAt":"2024-04-02T14:19:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Allow generated assets to show in development mode\n\nIn development, we mount our working directory over the one in the\ncontainer, meaning that generated assets (like the stats graphs) aren't\naccessible. Rather than rebuild them into our working directory, this\nadds the version collected during the container build as a last-resort\nplace to serve them from.\n\nWe're only setting this in development mode to avoid having\n`collectstatic` (which we run in `live` mode) try to collect assets\nfrom its own target directory.","shortMessageHtmlLink":"Allow generated assets to show in development mode"}},{"before":null,"after":"e691e0e404dbc4e20b410cf9438794b095a26c67","ref":"refs/heads/fully-working-devenv","pushedAt":"2024-04-02T07:59:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Allow generated assets to show in development mode\n\nIn development, we mount our working directory over the one in the\ncontainer, meaning that generated assets (like the stats graphs) aren't\naccessible. Rather than rebuild them into our working directory, this\nadds the version collected during the container build as a last-resort\nplace to serve them from.\n\nWe're only setting this in development mode to avoid having\n`collectstatic` (which we run in `live` mode) try to collect assets\nfrom its own target directory.","shortMessageHtmlLink":"Allow generated assets to show in development mode"}},{"before":"e56568293ca7d174686e3a791373fb976d2df6a8","after":"be706b33da11ec8a22a623baae843c68a9219a75","ref":"refs/heads/upgrade-django","pushedAt":"2024-04-01T16:52:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"fixup! Load statics the modern way","shortMessageHtmlLink":"fixup! Load statics the modern way"}},{"before":"379b00fb3cf59c736eab5b515f7d96727cee8eb0","after":"e56568293ca7d174686e3a791373fb976d2df6a8","ref":"refs/heads/upgrade-django","pushedAt":"2024-04-01T16:39:35.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"fixup! Load statics the modern way","shortMessageHtmlLink":"fixup! Load statics the modern way"}},{"before":"f5c2377b42e49ed8bd26d512fcd1f869affff152","after":"379b00fb3cf59c736eab5b515f7d96727cee8eb0","ref":"refs/heads/upgrade-django","pushedAt":"2024-04-01T14:08:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Use modern `if` template tag syntax\n\nFor a long time, Django has supported this more natural syntax for\nconditionals, so now we can use it too!","shortMessageHtmlLink":"Use modern if template tag syntax"}},{"before":"698273c01816b871f8da8cc6b4b25015752ee0b4","after":"70806e773b241747a4847403d4bdd5c8f80edb90","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-04-01T09:19:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Clarify instructions for working through Docker\n\nI missed a few things when updating the README to migrate us to a\nDocker-first world. Specifically, the guidance on reindexing mission\ncontent wasn't clear enough on what to do.\n\nThis also fixes a couple of typos, and updates the deployment guidance\nnow we have continuous deployment to Fly set up.","shortMessageHtmlLink":"Clarify instructions for working through Docker"}},{"before":"657eeae3fd72b1fdda9e3bc894451f22454ed60e","after":"698273c01816b871f8da8cc6b4b25015752ee0b4","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-04-01T09:09:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Clarify instructions for working through Docker\n\nI missed a few things when updating the README to migrate us to a\nDocker-first world. Specifically, the guidance on reindexing mission\ncontent wasn't clear enough on what to do.\n\nThis also fixes a couple of typos, and updates the deployment guidance\nnow we have continuous deployment to Fly set up.","shortMessageHtmlLink":"Clarify instructions for working through Docker"}},{"before":"11f0227bf5577696d5e592063b16448228b890a8","after":"657eeae3fd72b1fdda9e3bc894451f22454ed60e","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-04-01T09:08:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Clarify instructions for working through Docker\n\nI missed a few things when updating the README to migrate us to a\nDocker-first world. Specifically, the guidance on reindexing mission\ncontent wasn't clear enough on what to do.\n\nThis also fixes a couple of typos, and updates the deployment guidance\nnow we have continuous deployment to Fly set up.","shortMessageHtmlLink":"Clarify instructions for working through Docker"}},{"before":"04c61f27e351349ce3c66fd6bac6e74ec60ce369","after":"11f0227bf5577696d5e592063b16448228b890a8","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-03-30T22:15:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"fixup! Ensure we only rebuild indexes when necessary","shortMessageHtmlLink":"fixup! Ensure we only rebuild indexes when necessary"}},{"before":"a5c993ead7d34f0611464b46b7055ced742b0181","after":"04c61f27e351349ce3c66fd6bac6e74ec60ce369","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-03-30T18:40:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Ensure we only rebuild indexes when necessary\n\nPreviously, we were reindexing on every container rebuild, regardless\nof whether the mission data or backend code had changed.\n\nGiven these are the only things that actually impact indexing, though,\nwe can simply copy those to the container, reindex, then copy\neverything else, meaning that in the majority of cases, container\nbuilds are much faster because they're not spending 3-4 minutes\nreindexing.\n\nTo make this work, because our Makefile doesn't properly describe the\ndependency graph, we had to break the link between stats and\ncollectstatic. But that's OK, probably.","shortMessageHtmlLink":"Ensure we only rebuild indexes when necessary"}},{"before":"1525410c84d3a13210b5a7a7535e3c663a4b94af","after":null,"ref":"refs/heads/upgrade-to-python-3","pushedAt":"2024-03-30T13:55:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"}},{"before":"51e4792fa1a461ece7b369c36df0d174584a6187","after":"d5a1cb4f646d1fadf6f25b164ed37912195e02a4","ref":"refs/heads/main","pushedAt":"2024-03-30T13:54:58.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Merge pull request #264 from Spacelog/upgrade-to-python-3\n\nUpgrade to Python 3","shortMessageHtmlLink":"Merge pull request #264 from Spacelog/upgrade-to-python-3"}},{"before":"ed39cb500c42b90c585a77696fc0fb3c2b032cb0","after":"1525410c84d3a13210b5a7a7535e3c663a4b94af","ref":"refs/heads/upgrade-to-python-3","pushedAt":"2024-03-30T13:50:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Centralise creation of Redis connections\n\nHaving multiple places where we instantiate Redis connections means we\nhave to remember to update them all when we want to make changes to\neverything (which happens rarely, but is still annoying).\n\nThis centralises them all as `backend.util.redis_connection`, which\nmeans we don't have to think about it all over the place. I've left the\nRedisMiddleware in place because I think coupling the internals of\nrequest processing shouldn't rely on backend components directly.","shortMessageHtmlLink":"Centralise creation of Redis connections"}},{"before":"bc4c04529bb70ecb45c65c2818938257789655b5","after":"ed39cb500c42b90c585a77696fc0fb3c2b032cb0","ref":"refs/heads/upgrade-to-python-3","pushedAt":"2024-03-30T13:32:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Clarify log line access in OriginalView\n\nWe don't actually need access to all log lines in OriginalView, just\nthe first line, so having this function around creates confusion with\nthe other similarly-named implementations in other views.\n\nIt also turns out that we're wrapping a generator in a list in an\niterator in a list in an iterator when we could just… not, using\nPython3's `yield from`, which makes all of this much more explicit, and\nbreaks nothing. (And is probably faster, too, as we're not doing loads\nof boxing and unboxing.)","shortMessageHtmlLink":"Clarify log line access in OriginalView"}},{"before":"c757f1b5d7cf96ce737adc2c9a6b1b1b9eae0d75","after":"bc4c04529bb70ecb45c65c2818938257789655b5","ref":"refs/heads/upgrade-to-python-3","pushedAt":"2024-03-30T13:29:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Clarify log line access in OriginalView\n\nWe don't actually need access to all log lines in OriginalView, just\nthe first line, so having this function around creates confusion with\nthe other similarly-named implementations in other views.\n\nIt also turns out that we're wrapping an iterator in a list in an\niterator in a list in an iterator when we could just… not, using\nPython3's `yield from`, which makes all of this much more explicit, and\nbreaks nothing. (And is probably faster, too, as we're not doing loads\nof boxing and unboxing.)","shortMessageHtmlLink":"Clarify log line access in OriginalView"}},{"before":"ee0c7d0c855ff128e32b2ff39ed40809cec7139d","after":null,"ref":"refs/heads/remove-cruft","pushedAt":"2024-03-29T18:27:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"}},{"before":"d69f5b9937c371c3b6d2f1a9e8a8443864ac9e94","after":"51e4792fa1a461ece7b369c36df0d174584a6187","ref":"refs/heads/main","pushedAt":"2024-03-29T18:27:03.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Merge pull request #263 from Spacelog/remove-cruft\n\nRemove various tools we no longer need","shortMessageHtmlLink":"Merge pull request #263 from Spacelog/remove-cruft"}},{"before":"42f8846e9bb46bb42ab282ec985ae0044bf48699","after":null,"ref":"refs/heads/add-continuous-deployment","pushedAt":"2024-03-29T18:26:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"}},{"before":"309a8e140125ff45ce2762c708c5c9806f932058","after":"d69f5b9937c371c3b6d2f1a9e8a8443864ac9e94","ref":"refs/heads/main","pushedAt":"2024-03-29T18:26:44.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Merge pull request #262 from Spacelog/add-continuous-deployment\n\nSet up continuous deployment to Fly.io","shortMessageHtmlLink":"Merge pull request #262 from Spacelog/add-continuous-deployment"}},{"before":null,"after":"f5c2377b42e49ed8bd26d512fcd1f869affff152","ref":"refs/heads/upgrade-django","pushedAt":"2024-03-27T22:01:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Use modern `if` template tag syntax\n\nFor a long time, Django has supported this more natural syntax for\nconditionals, so now we can use it too!","shortMessageHtmlLink":"Use modern if template tag syntax"}},{"before":"c54fb0587537f52f8b1893761249fd71a2302c06","after":"a5c993ead7d34f0611464b46b7055ced742b0181","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-03-26T17:31:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Ensure we only rebuild indexes when necessary\n\nPreviously, we were reindexing on every container rebuild, regardless\nof whether the mission data or backend code had changed.\n\nGiven these are the only things that actually impact indexing, though,\nwe can simply copy those to the container, reindex, then copy\neverything else, meaning that in the majority of cases, container\nbuilds are much faster because they're not spending 3-4 minutes\nreindexing.\n\nTo make this work, because our Makefile doesn't properly describe the\ndependency graph, we had to break the link between stats and\ncollectstatic. But that's OK, probably.","shortMessageHtmlLink":"Ensure we only rebuild indexes when necessary"}},{"before":null,"after":"c54fb0587537f52f8b1893761249fd71a2302c06","ref":"refs/heads/optimise-docker-build","pushedAt":"2024-03-26T17:29:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Ensure we rebuild indexes when necessary\n\nPreviously, we were reindexing on every container rebuild, regardless\nof whether the mission data or backend code had changed.\n\nGiven these are the only things that actually impact indexing, though,\nwe can simply copy those to the container, reindex, then copy\neverything else, meaning that in the majority of cases, container\nbuilds are much faster because they're not spending 3-4 minutes\nreindexing.\n\nTo make this work, because our Makefile doesn't properly describe the\ndependency graph, we had to break the link between stats and\ncollectstatic. But that's OK, probably.","shortMessageHtmlLink":"Ensure we rebuild indexes when necessary"}},{"before":null,"after":"c757f1b5d7cf96ce737adc2c9a6b1b1b9eae0d75","ref":"refs/heads/upgrade-to-python-3","pushedAt":"2024-03-26T13:12:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Fix original transcript view in Python 3\n\nIt would appear that next() in Python 3 doesn't work directly on lists,\nonly on iterators. This code could probably be simplified, but that's\nnot the purpose of _this_ exercise.","shortMessageHtmlLink":"Fix original transcript view in Python 3"}},{"before":null,"after":"ee0c7d0c855ff128e32b2ff39ed40809cec7139d","ref":"refs/heads/remove-cruft","pushedAt":"2024-03-25T10:58:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Remove holding page for database upgrades\n\nAs we're now baking the database into the Docker container, we don't\nneed to do in-place DB upgrades, meaning we don't need to stop traffic\nto the site.\n\nThis removes that functionality from both apps, and splits out the\naddition of a Redis object to the request into its own middleware in\nboth, because the multiple responsibilities was confusing (and broke\nthings when I wholesale removed the multi-purpose holding middleware).","shortMessageHtmlLink":"Remove holding page for database upgrades"}},{"before":"30ecf40aebfc55fed8617a30b1fe3323192da76a","after":null,"ref":"refs/heads/global-homepage-quotes","pushedAt":"2024-03-22T23:25:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"}},{"before":"ca6ece938805acb9339a5d27fb9f37c61c844cdf","after":"42f8846e9bb46bb42ab282ec985ae0044bf48699","ref":"refs/heads/add-continuous-deployment","pushedAt":"2024-03-22T22:44:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Set up continuous deployment to Fly.io\n\nWe want to be able to deploy our changes automatically, so that people\ndon't have to interact with Fly.io. This adds a simple GitHub Action\nbased on the one in Fly's docs: https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/\n\nI've created a repository secret in Fly and added it to GitHub to\nsupport this.","shortMessageHtmlLink":"Set up continuous deployment to Fly.io"}},{"before":null,"after":"ca6ece938805acb9339a5d27fb9f37c61c844cdf","ref":"refs/heads/add-continuous-deployment","pushedAt":"2024-03-22T22:42:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Set up continuous deployment to Fly.io\n\nWe want to be able to deploy our changes automatically, so that people\ndon't have to interact with Fly.io. This adds a simple GitHub Action\nbased on the one in Fly's docs: https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/","shortMessageHtmlLink":"Set up continuous deployment to Fly.io"}},{"before":"309a8e140125ff45ce2762c708c5c9806f932058","after":null,"ref":"refs/heads/master","pushedAt":"2024-03-22T22:35:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"}},{"before":null,"after":"309a8e140125ff45ce2762c708c5c9806f932058","ref":"refs/heads/main","pushedAt":"2024-03-22T22:35:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"SteveMarshall","name":"Steve Marshall","path":"/SteveMarshall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2210?s=80&v=4"},"commit":{"message":"Merge pull request #259 from Spacelog/docker\n\nMove live Spacelog instance to run in Docker on Fly.io to make it more robust.","shortMessageHtmlLink":"Merge pull request #259 from Spacelog/docker"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEJaFSSgA","startCursor":null,"endCursor":null}},"title":"Activity · Spacelog/Spacelog"}