{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":20046997,"defaultBranch":"master","name":"PrairieLearn","ownerLogin":"PrairieLearn","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-05-22T03:48:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4580042?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715967521.0","currentOid":""},"activityList":{"items":[{"before":"38466f5b501777db47a1f16f8668ec8e2162777a","after":"9bfac2b6b876f580ffb5b070acb47ca002e5dec6","ref":"refs/heads/modernize-instructor-course-admin-staff","pushedAt":"2024-05-17T21:29:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mylesw27","name":"Myles Wiegel","path":"/mylesw27","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/114321556?s=80&v=4"},"commit":{"message":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instructorCourseAdminStaff.html.ts\n\nCo-authored-by: Nathan Sarang-Walters ","shortMessageHtmlLink":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instruc…"}},{"before":"5b22ddcaaf2ebfac2154d827d09d898d8ed5ff8f","after":"38466f5b501777db47a1f16f8668ec8e2162777a","ref":"refs/heads/modernize-instructor-course-admin-staff","pushedAt":"2024-05-17T21:24:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mylesw27","name":"Myles Wiegel","path":"/mylesw27","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/114321556?s=80&v=4"},"commit":{"message":"Address review comments","shortMessageHtmlLink":"Address review comments"}},{"before":"cd1ff8ed3dfd29e4416a7053e2cd7b3ebcf06389","after":"072316474c55f502b989ed6e3d30b56bfd78df8d","ref":"refs/heads/institution-permissions","pushedAt":"2024-05-17T21:19:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Remove require() statement","shortMessageHtmlLink":"Remove require() statement"}},{"before":"2c7d83eb0423f51102844816b764f3c1c54da8a3","after":"d0fecc468462c24b34de36fd751ac7d3f683b350","ref":"refs/heads/user-emails","pushedAt":"2024-05-17T21:14:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Fix function name","shortMessageHtmlLink":"Fix function name"}},{"before":"2504b2ae6d76a3da122cd1ad7ffc22ae7b2d4051","after":"681382c92ce4be787248012fcff8c34ed513608a","ref":"refs/heads/python-socket-communication","pushedAt":"2024-05-17T21:13:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Fix issue","shortMessageHtmlLink":"Fix issue"}},{"before":"3ef5c8bb679427070a4ba97885b0a368b3016d6b","after":"3914f3149ef696e7f373d7526746b25038828349","ref":"refs/heads/feat/question-subdomains","pushedAt":"2024-05-17T21:11:16.000Z","pushType":"push","commitsCount":845,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Merge branch 'master' into feat/question-subdomains","shortMessageHtmlLink":"Merge branch 'master' into feat/question-subdomains"}},{"before":"721508564a24fba018ecbf04558c6629eaf1720b","after":"2504b2ae6d76a3da122cd1ad7ffc22ae7b2d4051","ref":"refs/heads/python-socket-communication","pushedAt":"2024-05-17T20:30:12.000Z","pushType":"push","commitsCount":31,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Merge branch 'master' into python-socket-communication","shortMessageHtmlLink":"Merge branch 'master' into python-socket-communication"}},{"before":"59e2f5b09b50c32f5ea8908b316e062278e36bea","after":"cd1ff8ed3dfd29e4416a7053e2cd7b3ebcf06389","ref":"refs/heads/institution-permissions","pushedAt":"2024-05-17T20:24:48.000Z","pushType":"push","commitsCount":88,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Merge branch 'master' into institution-permissions","shortMessageHtmlLink":"Merge branch 'master' into institution-permissions"}},{"before":"e1f7456c5167f76fb608935bc843d9f6de9cb671","after":"2c7d83eb0423f51102844816b764f3c1c54da8a3","ref":"refs/heads/user-emails","pushedAt":"2024-05-17T20:21:08.000Z","pushType":"push","commitsCount":76,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Merge branch 'master' into user-emails","shortMessageHtmlLink":"Merge branch 'master' into user-emails"}},{"before":"3b013e4bcb736dc91cba2d146ef76314fce03a28","after":"b938d69e6413e0e6075d21abe0db40d7131f348f","ref":"refs/heads/improve-exam-mode-security","pushedAt":"2024-05-17T20:20:29.000Z","pushType":"push","commitsCount":85,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Reformat","shortMessageHtmlLink":"Reformat"}},{"before":"ff76c16a4930ba4a426f1fa4fcea4beec87a94c5","after":"84dcaceb993f36314a29dbe766632976d798feea","ref":"refs/heads/changeset-release/master","pushedAt":"2024-05-17T17:40:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Version Packages","shortMessageHtmlLink":"Version Packages"}},{"before":"f51d291eba2ded4174ea6b505d332bbded9c096a","after":null,"ref":"refs/heads/comprehensive-code-coverage","pushedAt":"2024-05-17T17:38:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"}},{"before":"ebd65b27617eb0ad5b4e417224953dc8a6339bff","after":"ef81d357e0407928ae181f62b52f478e8fc5e456","ref":"refs/heads/master","pushedAt":"2024-05-17T17:38:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Comprehensive code coverage reporting (#9869)\n\n* Upgrade tsx\r\n\r\n* Add coverage to all apps/packages\r\n\r\n* Dedupe\r\n\r\n* Fix typo in c8 config\r\n\r\n* Fix copy command","shortMessageHtmlLink":"Comprehensive code coverage reporting (#9869)"}},{"before":"07f36d808858285e7e805c82a848095208cae8f9","after":"ff76c16a4930ba4a426f1fa4fcea4beec87a94c5","ref":"refs/heads/changeset-release/master","pushedAt":"2024-05-17T17:14:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Version Packages","shortMessageHtmlLink":"Version Packages"}},{"before":"e61d92f105f15c0dd44ecb0380ee11f60724871a","after":null,"ref":"refs/heads/sqlParamCheck","pushedAt":"2024-05-17T17:13:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"trombonekenny","name":"Dave Mussulman","path":"/trombonekenny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10765199?s=80&v=4"}},{"before":"ebd65b27617eb0ad5b4e417224953dc8a6339bff","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-9841-d99eafc18bfd91930554f89abc167f94c3e08059","pushedAt":"2024-05-17T17:13:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"d99eafc18bfd91930554f89abc167f94c3e08059","after":"ebd65b27617eb0ad5b4e417224953dc8a6339bff","ref":"refs/heads/master","pushedAt":"2024-05-17T17:13:11.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"feat: warn when SQL parameters are unused (#9841)\n\n* Log a warning when passed parameters are not in SQL query\n\n* fix unused parameter cases\n\n* more fixes\n\n* config erroring on init parameter, turn on for devMode and test\n\n* more fixes\n\n* more fixes\n\n* remove debugging\n\n* use _.omit()\n\n* add tests\n\n* remove tests around type errors\n\n* readme\n\n* add back type checking errors\n\n* address PR feedback\n\n* logic fixes\n\n* change to pgConfig.errorOnUnusedParameters\n\n* rename to PostgresPoolConfig\n\n* cleanup\n\n* merge fixes\n\n* refactor queries to a function\n\n---------\n\nCo-authored-by: Nathan Sarang-Walters ","shortMessageHtmlLink":"feat: warn when SQL parameters are unused (#9841)"}},{"before":null,"after":"ebd65b27617eb0ad5b4e417224953dc8a6339bff","ref":"refs/heads/gh-readonly-queue/master/pr-9841-d99eafc18bfd91930554f89abc167f94c3e08059","pushedAt":"2024-05-17T17:02:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"feat: warn when SQL parameters are unused (#9841)\n\n* Log a warning when passed parameters are not in SQL query\n\n* fix unused parameter cases\n\n* more fixes\n\n* config erroring on init parameter, turn on for devMode and test\n\n* more fixes\n\n* more fixes\n\n* remove debugging\n\n* use _.omit()\n\n* add tests\n\n* remove tests around type errors\n\n* readme\n\n* add back type checking errors\n\n* address PR feedback\n\n* logic fixes\n\n* change to pgConfig.errorOnUnusedParameters\n\n* rename to PostgresPoolConfig\n\n* cleanup\n\n* merge fixes\n\n* refactor queries to a function\n\n---------\n\nCo-authored-by: Nathan Sarang-Walters ","shortMessageHtmlLink":"feat: warn when SQL parameters are unused (#9841)"}},{"before":"2f24e005f3bbb8559db03b9095da34df4be6b7ef","after":"f51d291eba2ded4174ea6b505d332bbded9c096a","ref":"refs/heads/comprehensive-code-coverage","pushedAt":"2024-05-17T17:00:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Fix copy command","shortMessageHtmlLink":"Fix copy command"}},{"before":"0807548fc53944cc6a8358f7906c819b96517553","after":"5b22ddcaaf2ebfac2154d827d09d898d8ed5ff8f","ref":"refs/heads/modernize-instructor-course-admin-staff","pushedAt":"2024-05-17T16:42:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mylesw27","name":"Myles Wiegel","path":"/mylesw27","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/114321556?s=80&v=4"},"commit":{"message":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instructorCourseAdminStaff.html.ts\n\nCo-authored-by: Nathan Sarang-Walters ","shortMessageHtmlLink":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instruc…"}},{"before":"4cddacd77eb832165e7715699f6601afa23662b1","after":"0807548fc53944cc6a8358f7906c819b96517553","ref":"refs/heads/modernize-instructor-course-admin-staff","pushedAt":"2024-05-17T16:42:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mylesw27","name":"Myles Wiegel","path":"/mylesw27","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/114321556?s=80&v=4"},"commit":{"message":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instructorCourseAdminStaff.html.ts\n\nCo-authored-by: Nathan Sarang-Walters ","shortMessageHtmlLink":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instruc…"}},{"before":"59beb2e7f2671e700f1a201ae83687d26f023bc5","after":"4cddacd77eb832165e7715699f6601afa23662b1","ref":"refs/heads/modernize-instructor-course-admin-staff","pushedAt":"2024-05-17T16:42:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mylesw27","name":"Myles Wiegel","path":"/mylesw27","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/114321556?s=80&v=4"},"commit":{"message":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instructorCourseAdminStaff.html.ts\n\nCo-authored-by: Nathan Sarang-Walters ","shortMessageHtmlLink":"Update apps/prairielearn/src/pages/instructorCourseAdminStaff/instruc…"}},{"before":"5844be83fb0bf4ab36ea62afa512f5f002947812","after":"2f24e005f3bbb8559db03b9095da34df4be6b7ef","ref":"refs/heads/comprehensive-code-coverage","pushedAt":"2024-05-17T16:38:26.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Fix typo in c8 config","shortMessageHtmlLink":"Fix typo in c8 config"}},{"before":"9f928e253d7dafb1035fd832dcd503d2374687d7","after":"07f36d808858285e7e805c82a848095208cae8f9","ref":"refs/heads/changeset-release/master","pushedAt":"2024-05-17T16:37:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Version Packages","shortMessageHtmlLink":"Version Packages"}},{"before":"fa5c031039f9ade25d741c18a3a010a6eacb4186","after":null,"ref":"refs/heads/codecov","pushedAt":"2024-05-17T16:34:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"}},{"before":"d99eafc18bfd91930554f89abc167f94c3e08059","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-9865-87ca7c45f0ff87eb8752301059b2799a1d4a1c2d","pushedAt":"2024-05-17T16:34:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"87ca7c45f0ff87eb8752301059b2799a1d4a1c2d","after":"d99eafc18bfd91930554f89abc167f94c3e08059","ref":"refs/heads/master","pushedAt":"2024-05-17T16:34:43.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add Codecov tooling (#9865)\n\n* Codecov MVP\n\n* Remove unneeded comments\n\n* Fix script name\n\n* Use cobertura instead\n\n* Use c8 instead of nyc\n\n* Remove final references to nyc\n\n* Fix coverage file name\n\n* Install latest tsx\n\n* Remove unneeded .codecov.yml\n\n* Refine script comments\n\n* Improve ignore files\n\n* Simplify .gitignore","shortMessageHtmlLink":"Add Codecov tooling (#9865)"}},{"before":"7523b0e15d4b7f19e6d40740b253f305c8c204c1","after":"e61d92f105f15c0dd44ecb0380ee11f60724871a","ref":"refs/heads/sqlParamCheck","pushedAt":"2024-05-17T16:28:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"trombonekenny","name":"Dave Mussulman","path":"/trombonekenny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10765199?s=80&v=4"},"commit":{"message":"refactor queries to a function","shortMessageHtmlLink":"refactor queries to a function"}},{"before":null,"after":"d99eafc18bfd91930554f89abc167f94c3e08059","ref":"refs/heads/gh-readonly-queue/master/pr-9865-87ca7c45f0ff87eb8752301059b2799a1d4a1c2d","pushedAt":"2024-05-17T16:23:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add Codecov tooling (#9865)\n\n* Codecov MVP\n\n* Remove unneeded comments\n\n* Fix script name\n\n* Use cobertura instead\n\n* Use c8 instead of nyc\n\n* Remove final references to nyc\n\n* Fix coverage file name\n\n* Install latest tsx\n\n* Remove unneeded .codecov.yml\n\n* Refine script comments\n\n* Improve ignore files\n\n* Simplify .gitignore","shortMessageHtmlLink":"Add Codecov tooling (#9865)"}},{"before":"b30872a3ed0dbb10e813e59adc1b8679acbbc3d0","after":"5844be83fb0bf4ab36ea62afa512f5f002947812","ref":"refs/heads/comprehensive-code-coverage","pushedAt":"2024-05-17T16:09:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nwalters512","name":"Nathan Sarang-Walters","path":"/nwalters512","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1476544?s=80&v=4"},"commit":{"message":"Dedupe","shortMessageHtmlLink":"Dedupe"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETU6bvgA","startCursor":null,"endCursor":null}},"title":"Activity · PrairieLearn/PrairieLearn"}