{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":3724978,"defaultBranch":"master","name":"internal-webserver","ownerLogin":"Khan","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-03-15T03:44:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/15455?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725977920.0","currentOid":""},"activityList":{"items":[{"before":"08e846713de14e9764a73de7008751d02d0c2128","after":"271ce939dfb73f3ffd6c68cab76a9fd102789cc1","ref":"refs/heads/master","pushedAt":"2024-09-25T13:36:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gsamuelhays","name":"Sam Hays","path":"/gsamuelhays","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7843584?s=80&v=4"},"commit":{"message":"Adding Security as a team in KA (#63)\n\n## Summary:\nAs per the documentation linked on the follow line, KA has\n(https://khanacademy.atlassian.net/wiki/spaces/ENG/pages/2774138913/EXAMPLE+New+Team+setup+checklist#Code)\na number of steps required to create a new team. This\nis one of those steps.\n\nThe README here says this is deprecated but also that \"A\nlot of things still live here\". So, I'm making this update\nanyway - perhaps its one of the things still living here.\n\nIssue: none\n\n## Test plan:\nN/A\n\nAuthor: gsamuelhays\n\nReviewers: csilvers\n\nRequired Reviewers:\n\nApproved By: csilvers\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/63","shortMessageHtmlLink":"Adding Security as a team in KA (#63)"}},{"before":"17c070560f4b8e841300e73e0297a79aa63378e9","after":"700101e109d647d3e035421caa931c9a18b3562f","ref":"refs/heads/sec-19-iws","pushedAt":"2024-09-25T13:34:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gsamuelhays","name":"Sam Hays","path":"/gsamuelhays","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7843584?s=80&v=4"},"commit":{"message":"Alphabetize listing","shortMessageHtmlLink":"Alphabetize listing"}},{"before":null,"after":"17c070560f4b8e841300e73e0297a79aa63378e9","ref":"refs/heads/sec-19-iws","pushedAt":"2024-09-10T14:18:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gsamuelhays","name":"Sam Hays","path":"/gsamuelhays","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7843584?s=80&v=4"},"commit":{"message":"Adding Security as a team in KA\n\nAs per the documentation linked on the follow line, KA has\n(https://khanacademy.atlassian.net/wiki/spaces/ENG/pages/2774138913/EXAMPLE+New+Team+setup+checklist#Code)\na number of steps required to create a new team. This\nis one of those steps.\n\nThe README here says this is deprecated but also that \"A\nlot of things still live here\". So, I'm making this update\nanyway - perhaps its one of the things still living here.\n\nIssue: none\n\nTest plan:\nN/A","shortMessageHtmlLink":"Adding Security as a team in KA"}},{"before":"25d66bdf79e75da7bb934b8677abfec40fd72142","after":"08e846713de14e9764a73de7008751d02d0c2128","ref":"refs/heads/master","pushedAt":"2024-08-26T16:55:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Remove obsolete teams from our list of teams. (#62)\n\n## Summary:\nI hope that all our repos have been rewritten to use the new team\nnames! The TODO says it's safe to remove now, so we'll see...\n\nIssue: none\n\n## Test plan:\nFingers crossed\n\nAuthor: csilvers\n\nReviewers: timmcca-be, lsmith\n\nRequired Reviewers:\n\nApproved By: timmcca-be\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/62","shortMessageHtmlLink":"Remove obsolete teams from our list of teams. (#62)"}},{"before":"b5a1c28c16dda6c8ad236a3e7d74626d3a59a3f4","after":"29c01b010c49409121a4aed22935ec651d1f676d","ref":"refs/heads/remove-obsolete-teams","pushedAt":"2024-08-23T16:56:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Remove obsolete teams from our list of teams.\n\nI hope that all our repos have been rewritten to use the new team\nnames! The TODO says it's safe to remove now, so we'll see...\n\nIssue: none\n\nTest plan:\nFingers crossed","shortMessageHtmlLink":"Remove obsolete teams from our list of teams."}},{"before":null,"after":"b5a1c28c16dda6c8ad236a3e7d74626d3a59a3f4","ref":"refs/heads/remove-obsolete-teams","pushedAt":"2024-08-23T16:55:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Remove obsolete teams from our list of teams.\n\nI hope that all our repos have been rewritten to use the new team\nnames! The TODO says it's safe to remove now, so we'll see...\n\nIssue: none\n\nTest plan:\nFingers crossed","shortMessageHtmlLink":"Remove obsolete teams from our list of teams."}},{"before":"2b84e4251cda6eab2334d8bb305fb096ad6b1f19","after":"25d66bdf79e75da7bb934b8677abfec40fd72142","ref":"refs/heads/master","pushedAt":"2024-06-20T18:05:17.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ipowell","name":"Ian Powell","path":"/ipowell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2604411?s=80&v=4"},"commit":{"message":"Merge pull request #60 from Khan/ignore-auth-cookie-mutation\n\nSilence alerts for AuthCookieMutation GET failures.","shortMessageHtmlLink":"Merge pull request #60 from Khan/ignore-auth-cookie-mutation"}},{"before":"380b71d96a7f80f76606777b77b97b59ea05fe6e","after":"2b84e4251cda6eab2334d8bb305fb096ad6b1f19","ref":"refs/heads/master","pushedAt":"2024-06-04T13:55:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adinardi","name":"Angelo DiNardi","path":"/adinardi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41189?s=80&v=4"},"commit":{"message":"Add the assessments team (#61)\n\n## Summary:\nAdding the assessments team everywhere.\n\nhttps://khanacademy.atlassian.net/wiki/spaces/Assessment/pages/2938634241/Assessments+Team+Setup\n\nIssue: AX-7\n\n## Test plan:\nnone\n\nAuthor: adinardi\n\nReviewers: ejanzer, csilvers\n\nRequired Reviewers:\n\nApproved By: ejanzer, csilvers\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/61","shortMessageHtmlLink":"Add the assessments team (#61)"}},{"before":null,"after":"f0da2f15e33f6550343e6011052da0046984d212","ref":"refs/heads/assessments-team-add","pushedAt":"2024-06-03T16:27:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"adinardi","name":"Angelo DiNardi","path":"/adinardi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41189?s=80&v=4"},"commit":{"message":"Add the assessments team","shortMessageHtmlLink":"Add the assessments team"}},{"before":null,"after":"15d7b678ee58a884017bdbf8e67c2df6c2bc2e27","ref":"refs/heads/ignore-auth-cookie-mutation","pushedAt":"2024-05-31T13:41:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ipowell","name":"Ian Powell","path":"/ipowell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2604411?s=80&v=4"},"commit":{"message":"Silence alerts for authcookiemutation failures.","shortMessageHtmlLink":"Silence alerts for authcookiemutation failures."}},{"before":"2eb9b46d1557a45bcfad5668c542704d07c6c5b6","after":"380b71d96a7f80f76606777b77b97b59ea05fe6e","ref":"refs/heads/master","pushedAt":"2024-04-26T19:48:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Get TEAM_EMAIL up to date with ownership.py again. (#59)\n\n## Summary:\nThis now matches the list of active teams and deprecated teams. There\nare even a couple of teams here that I get to remove, because they're\nnot longer in ownership_data.json! (according to grep.)\n\nIssue: email_bq_data.py log spam\n\n## Test plan:\nFingers crossed\n\nSubscribers: @jvoll\n\nAuthor: csilvers\n\nReviewers: timmcca-be, sxkosone, #sre\n\nRequired Reviewers:\n\nApproved By: timmcca-be, sxkosone\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/59","shortMessageHtmlLink":"Get TEAM_EMAIL up to date with ownership.py again. (#59)"}},{"before":null,"after":"614e4e5e65d963bfd260cee7b31580216a7a7bab","ref":"refs/heads/initiatives-emails","pushedAt":"2024-04-26T19:26:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Get TEAM_EMAIL up to date with ownership.py again.\n\nThis now matches the list of active teams and deprecated teams. There\nare even a couple of teams here that I get to remove, because they're\nnot longer in ownership_data.json! (according to grep.)\n\nIssue: email_bq_data.py log spam\n\nTest plan:\nFingers crossed","shortMessageHtmlLink":"Get TEAM_EMAIL up to date with ownership.py again."}},{"before":"cef68267c9c16f300f4ebd22c16030c253b384e3","after":"2eb9b46d1557a45bcfad5668c542704d07c6c5b6","ref":"refs/heads/master","pushedAt":"2024-04-22T03:57:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Add tutor-platform and khanmigo-core-platform. (#58)\n\n## Summary:\nWe have new teams in town, now.\n\nIssue: email_bq_data.py log spam\n\n## Test plan:\nFingers crossed\n\nSubscribers: @timmcca-be\n\nAuthor: csilvers\n\nReviewers: sxkosone, jvoll\n\nRequired Reviewers:\n\nApproved By: sxkosone\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/58","shortMessageHtmlLink":"Add tutor-platform and khanmigo-core-platform. (#58)"}},{"before":null,"after":"9decbdd537b07661f27e0ff8b6c0031d10e63b57","ref":"refs/heads/bq-data","pushedAt":"2024-04-22T00:57:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Add tutor-platform and khanmigo-core-platform.\n\nWe have new teams in town, now.\n\nIssue: email_bq_data.py log spam\n\nTest plan:\nFingers crossed","shortMessageHtmlLink":"Add tutor-platform and khanmigo-core-platform."}},{"before":"658cba4faff57555d1b6eeb1274f42319aa90cbd","after":"cef68267c9c16f300f4ebd22c16030c253b384e3","ref":"refs/heads/master","pushedAt":"2024-04-10T20:57:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timmcca-be","name":"Tim McCabe","path":"/timmcca-be","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20631761?s=80&v=4"},"commit":{"message":"Update email addresses for teams under learner experience (#57)\n\n## Summary:\r\n\r\nThis updates the email addresses for LEMS, Literacy, Content Library, and Test Prep per the ticket.\r\n\r\nIssue: LIT-779","shortMessageHtmlLink":"Update email addresses for teams under learner experience (#57)"}},{"before":"22772100fbcd41b1bb44d0a45cd3fcf305424196","after":"af946ee946b5a8096d05e9a565d943fd20588d9f","ref":"refs/heads/lx-emails-updates","pushedAt":"2024-04-10T20:56:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"timmcca-be","name":"Tim McCabe","path":"/timmcca-be","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20631761?s=80&v=4"},"commit":{"message":"Set date to remove deprecated names","shortMessageHtmlLink":"Set date to remove deprecated names"}},{"before":"3e3edf8cebd5e38a77801382d9c31bd9f0339f5b","after":"22772100fbcd41b1bb44d0a45cd3fcf305424196","ref":"refs/heads/lx-emails-updates","pushedAt":"2024-04-10T20:16:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"timmcca-be","name":"Tim McCabe","path":"/timmcca-be","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20631761?s=80&v=4"},"commit":{"message":"Remove duplicate","shortMessageHtmlLink":"Remove duplicate"}},{"before":"8f3671bd52b7b602c7c18cfd01e80c344c950b2a","after":"3e3edf8cebd5e38a77801382d9c31bd9f0339f5b","ref":"refs/heads/lx-emails-updates","pushedAt":"2024-04-10T20:01:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"timmcca-be","name":"Tim McCabe","path":"/timmcca-be","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20631761?s=80&v=4"},"commit":{"message":"Add back deprecated stuff","shortMessageHtmlLink":"Add back deprecated stuff"}},{"before":null,"after":"8f3671bd52b7b602c7c18cfd01e80c344c950b2a","ref":"refs/heads/lx-emails-updates","pushedAt":"2024-04-10T17:59:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"timmcca-be","name":"Tim McCabe","path":"/timmcca-be","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20631761?s=80&v=4"},"commit":{"message":"Update email addresses for teams under learner experience\n\n## Summary:\r\n\r\nThis updates the email addresses for LEMS, Literacy, Content Library, and Test Prep per the ticket.\r\n\r\nIssue: LIT-779","shortMessageHtmlLink":"Update email addresses for teams under learner experience"}},{"before":"313e6b5bfd2de4ed242d1a1b7c44266a78bc033d","after":"658cba4faff57555d1b6eeb1274f42319aa90cbd","ref":"refs/heads/master","pushedAt":"2024-03-18T17:13:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Add some new team names to `TEAM_EMAIL`. (#56)\n\n## Summary:\nI kept the email the same though.\n\nIssue: email errors\n\n## Test plan:\nFIngers crossed\n\nAuthor: csilvers\n\nReviewers: dbraley, jeremywiebe, lsmith\n\nRequired Reviewers:\n\nApproved By: dbraley\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/56","shortMessageHtmlLink":"Add some new team names to TEAM_EMAIL. (#56)"}},{"before":"99dcae3c5812271be12463f3b81990aae086458f","after":"579307307e3bc3a0fa9b6d10eef006c13c8f167b","ref":"refs/heads/new-teams","pushedAt":"2024-03-17T02:54:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Add some new team names to `TEAM_EMAIL`.\n\nI kept the email the same though.\n\nIssue: email errors\n\nTest plan:\nFIngers crossed","shortMessageHtmlLink":"Add some new team names to TEAM_EMAIL."}},{"before":"0a1c82c3dfa8b1b2815b25963625d9a0d2764385","after":"313e6b5bfd2de4ed242d1a1b7c44266a78bc033d","ref":"refs/heads/master","pushedAt":"2024-03-13T18:04:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"[🔥AUDIT🔥] Another bytes vs strings problem. (#55)\n\n🖍 _This is an audit!_ 🖍\n\n## Summary:\nI fixed the base64-encoding issue in one place in this file, but not\nthe other! I wonder why it just started complaining now.\n\nIssue: emails from phabricator\n\n## Test plan:\nFingers crossed\n\nAuthor: csilvers\n\nAuditors: #infra-platform\n\nRequired Reviewers:\n\nApproved By:\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/55","shortMessageHtmlLink":"[🔥AUDIT🔥] Another bytes vs strings problem. (#55)"}},{"before":null,"after":"9959463c7065e6883801a519c165675959372f3f","ref":"refs/heads/fix-b64-encoding","pushedAt":"2024-03-13T18:04:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Another bytes vs strings problem.\n\nI fixed the base64-encoding issue in one place in this file, but not\nthe other! I wonder why it just started complaining now.\n\nIssue: emails from phabricator\n\nTest plan:\nFingers crossed","shortMessageHtmlLink":"Another bytes vs strings problem."}},{"before":"ac6b65a23d712ce040ed499191cd36618230437f","after":"0a1c82c3dfa8b1b2815b25963625d9a0d2764385","ref":"refs/heads/master","pushedAt":"2024-03-07T20:28:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Fix the instance-hours-by-route nightly email (#54)\n\n## Summary:\nIt was limited to only showing data from the python services, because\nof Reasons. I regenerated the cost-dict, and now we can get\ninstance-hour use from *all* the services.\n\nIssue: none\n\n## Test plan:\nI can't really test locally, so I'll just deploy this and see what\nhappens! It can't be worse than what exists now.\n\nAuthor: csilvers\n\nReviewers: MiguelCastillo\n\nRequired Reviewers:\n\nApproved By: MiguelCastillo\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/54","shortMessageHtmlLink":"Fix the instance-hours-by-route nightly email (#54)"}},{"before":null,"after":"2a79023857dccadb72b5d3151475361fa6665932","ref":"refs/heads/fix-email-reports","pushedAt":"2024-03-05T00:27:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Fix the instance-hours-by-route nightly email\n\nIt was limited to only showing data from the python services, because\nof Reasons. I regenerated the cost-dict, and now we can get\ninstance-hour use from *all* the services.\n\nIssue: none\n\nTest plan:\nI can't really test locally, so I'll just deploy this and see what\nhappens! It can't be worse than what exists now.","shortMessageHtmlLink":"Fix the instance-hours-by-route nightly email"}},{"before":"d822947a9a0d4e289245fd210661aef3a48e949d","after":"ac6b65a23d712ce040ed499191cd36618230437f","ref":"refs/heads/master","pushedAt":"2024-03-04T18:05:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"Update all our python scripts to python3. (#53)\n\n## Summary:\nWe have removed python2 from webapp, and now we are removing it from\nall our jenkins machines. That means that these scripts need to run\nunder python3! I used `2to3` to do the conversion, then fixed up\nsubprocess and friends by hand.\n\nIssue: https://khanacademy.atlassian.net/browse/INFRA-9839\n\n## Test plan:\nThere's not a great way to test these locally, since they need all\nsorts of secrets-files. So my plan is to run the relevant cronjobs\non toby and debug any issues there.\n\nAuthor: csilvers\n\nReviewers: csilvers, nathanjd, dat-boris\n\nRequired Reviewers:\n\nApproved By: nathanjd\n\nChecks:\n\nPull Request URL: https://github.com/Khan/internal-webserver/pull/53","shortMessageHtmlLink":"Update all our python scripts to python3. (#53)"}},{"before":"4592ba6a880afc3b1a9fcb085bd153f7972903f0","after":"e9ad390ce0eae08eb32f06b32613f2d1e63625e5","ref":"refs/heads/py3","pushedAt":"2024-03-01T21:55:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"one more place not to use binary","shortMessageHtmlLink":"one more place not to use binary"}},{"before":"b2fb7bc208b923695a7d829ed9cab3058a3f1c3b","after":"4592ba6a880afc3b1a9fcb085bd153f7972903f0","ref":"refs/heads/py3","pushedAt":"2024-03-01T21:53:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"drat, we read from csv in *two* places","shortMessageHtmlLink":"drat, we read from csv in *two* places"}},{"before":"39981a966975a59c8fcf01becb5e94f6602a7809","after":"b2fb7bc208b923695a7d829ed9cab3058a3f1c3b","ref":"refs/heads/py3","pushedAt":"2024-03-01T21:34:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"fix csv reader issue, from https://stackoverflow.com/questions/18897029/read-csv-file-from-url-into-python-3-x-csv-error-iterator-should-return-str","shortMessageHtmlLink":"fix csv reader issue, from https://stackoverflow.com/questions/188970…"}},{"before":"81e0d59caa4639b521cdcd383af6866e13ced9ce","after":"39981a966975a59c8fcf01becb5e94f6602a7809","ref":"refs/heads/py3","pushedAt":"2024-03-01T21:03:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"csilvers","name":"Craig Silverstein","path":"/csilvers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1445223?s=80&v=4"},"commit":{"message":"fix bytes vs string issue, part 2","shortMessageHtmlLink":"fix bytes vs string issue, part 2"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNVQxMzozNjozMy4wMDAwMDBazwAAAATAX5i8","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wMVQyMTowMzo0MC4wMDAwMDBazwAAAAQKJxDI"}},"title":"Activity · Khan/internal-webserver"}