{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":406951461,"defaultBranch":"main","name":"SPOT","ownerLogin":"HuskieRobotics","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-15T23:23:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2968504?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726707909.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"98ee3e7640481a58b740d3b233a54cafe3ecbcfe","ref":"refs/heads/ARBjork-patch-1","pushedAt":"2024-09-19T01:05:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ARBjork","name":null,"path":"/ARBjork","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/160078202?s=80&v=4"},"commit":{"message":"Update README.md\n\nUpdated offline workflow","shortMessageHtmlLink":"Update README.md"}},{"before":"8335d384d6eb660b2638d3d3a5569f1a058b3e1a","after":"e1385e4805dd1d1bd778b4245aee719d5c8d57d2","ref":"refs/heads/main","pushedAt":"2024-07-15T19:39:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"QR code display refactoring (#127)\n\n* removed unused endpoint for old QR code\r\n* re-enabled reload button\r\n* moved QR display; optimized popup feedback","shortMessageHtmlLink":"QR code display refactoring (#127)"}},{"before":null,"after":"7337a5e76fed6d5f8bbdc0f3a74cbc2bb212da86","ref":"refs/heads/scouting-cleanup","pushedAt":"2024-07-15T19:28:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"moved QR display; optimized popup feedback","shortMessageHtmlLink":"moved QR display; optimized popup feedback"}},{"before":"d6d56188502e8d29401ff8c467ecdc155d63e2f3","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/multi-e091cc75b0","pushedAt":"2024-06-18T18:32:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"28ddccb6f5a7d28a3efe03b20b81f021f5d9e55a","after":null,"ref":"refs/heads/npm-audit","pushedAt":"2024-06-18T18:31:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"}},{"before":"2bd527aff896c1bb27f71bdd43caa575e2854c70","after":"8335d384d6eb660b2638d3d3a5569f1a058b3e1a","ref":"refs/heads/main","pushedAt":"2024-06-18T18:31:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"update vulnerable dependencies (#124)","shortMessageHtmlLink":"update vulnerable dependencies (#124)"}},{"before":"2bd527aff896c1bb27f71bdd43caa575e2854c70","after":"28ddccb6f5a7d28a3efe03b20b81f021f5d9e55a","ref":"refs/heads/npm-audit","pushedAt":"2024-06-18T18:31:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"update vulnerable dependencies","shortMessageHtmlLink":"update vulnerable dependencies"}},{"before":null,"after":"2bd527aff896c1bb27f71bdd43caa575e2854c70","ref":"refs/heads/npm-audit","pushedAt":"2024-06-18T18:30:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"refactor manual schedule feature (#122)\n\n* remove unused files\r\n* remove checklist SPOT module route; configure axios port\r\n* remove unused files\r\n* move endpoints to api route (more consistent with other SPOT modules)\r\n* auto save changes\r\n* restore manual match schedule from server\r\n* remove lock button to simply UI\r\n* populate team numbers as \"0\" to clarify where to click to make edits","shortMessageHtmlLink":"refactor manual schedule feature (#122)"}},{"before":null,"after":"d6d56188502e8d29401ff8c467ecdc155d63e2f3","ref":"refs/heads/dependabot/npm_and_yarn/multi-e091cc75b0","pushedAt":"2024-06-18T18:29:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump ws, engine.io and socket.io-adapter\n\nBumps [ws](https://github.com/websockets/ws), [engine.io](https://github.com/socketio/engine.io) and [socket.io-adapter](https://github.com/socketio/socket.io-adapter). These dependencies needed to be updated together.\n\nUpdates `ws` from 8.11.0 to 8.17.1\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/8.11.0...8.17.1)\n\nUpdates `engine.io` from 6.5.4 to 6.5.5\n- [Release notes](https://github.com/socketio/engine.io/releases)\n- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/socketio/engine.io/compare/6.5.4...6.5.5)\n\nUpdates `socket.io-adapter` from 2.5.2 to 2.5.5\n- [Release notes](https://github.com/socketio/socket.io-adapter/releases)\n- [Changelog](https://github.com/socketio/socket.io-adapter/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/socketio/socket.io-adapter/compare/2.5.2...2.5.5)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n dependency-type: indirect\n- dependency-name: engine.io\n dependency-type: indirect\n- dependency-name: socket.io-adapter\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump ws, engine.io and socket.io-adapter"}},{"before":"256d6bd29558b416b97951b84bc014f4fc4c2c9d","after":null,"ref":"refs/heads/refactor","pushedAt":"2024-06-18T17:56:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"}},{"before":"ce8c47e0259abcc2a654c6ff83f20c1739670c3f","after":"2bd527aff896c1bb27f71bdd43caa575e2854c70","ref":"refs/heads/main","pushedAt":"2024-06-18T17:55:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"refactor manual schedule feature (#122)\n\n* remove unused files\r\n* remove checklist SPOT module route; configure axios port\r\n* remove unused files\r\n* move endpoints to api route (more consistent with other SPOT modules)\r\n* auto save changes\r\n* restore manual match schedule from server\r\n* remove lock button to simply UI\r\n* populate team numbers as \"0\" to clarify where to click to make edits","shortMessageHtmlLink":"refactor manual schedule feature (#122)"}},{"before":"0b82e8ef2e53fcaf1d1f85e737f7760746fe848d","after":"256d6bd29558b416b97951b84bc014f4fc4c2c9d","ref":"refs/heads/refactor","pushedAt":"2024-06-18T17:54:17.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"enhance manual match feature\n\n* auto save changes\n* restore manual match schedule from server\n* remove lock button to simply UI\n* populate team numbers as \"0\" to clarify where to click to make edits","shortMessageHtmlLink":"enhance manual match feature"}},{"before":null,"after":"0b82e8ef2e53fcaf1d1f85e737f7760746fe848d","ref":"refs/heads/refactor","pushedAt":"2024-06-18T15:44:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"remove unused files","shortMessageHtmlLink":"remove unused files"}},{"before":"781f5903b2be6738dcdc4f20a24c4093bb68873e","after":null,"ref":"refs/heads/formatter","pushedAt":"2024-06-18T15:23:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"}},{"before":"a8bbfbe16acf119694eb62c0c2234d6eec923c41","after":"ce8c47e0259abcc2a654c6ff83f20c1739670c3f","ref":"refs/heads/main","pushedAt":"2024-06-18T15:23:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"Format All Files (#118)\n\n* add recommended extensions and configure formatting\r\n* format all files (except for transformer files)","shortMessageHtmlLink":"Format All Files (#118)"}},{"before":"8189abe0ec74812c057438637d0f191a650628d3","after":"781f5903b2be6738dcdc4f20a24c4093bb68873e","ref":"refs/heads/formatter","pushedAt":"2024-06-18T15:22:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"format all files","shortMessageHtmlLink":"format all files"}},{"before":"6a79cf23ceae46cc7a27a4ed66839a6d2f0aec36","after":"8189abe0ec74812c057438637d0f191a650628d3","ref":"refs/heads/formatter","pushedAt":"2024-06-18T15:19:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"don't format transformer files","shortMessageHtmlLink":"don't format transformer files"}},{"before":"f5156f3f6f609cf785eacc5697801891ccdbe2cd","after":"6a79cf23ceae46cc7a27a4ed66839a6d2f0aec36","ref":"refs/heads/formatter","pushedAt":"2024-06-18T15:15:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"Revert \"format all files\"\n\nThis reverts commit f5156f3f6f609cf785eacc5697801891ccdbe2cd.","shortMessageHtmlLink":"Revert \"format all files\""}},{"before":"054ab12a301affc7ac335a2bfd0cd5b8c3c9fa88","after":"f5156f3f6f609cf785eacc5697801891ccdbe2cd","ref":"refs/heads/formatter","pushedAt":"2024-06-18T15:07:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"format all files","shortMessageHtmlLink":"format all files"}},{"before":null,"after":"054ab12a301affc7ac335a2bfd0cd5b8c3c9fa88","ref":"refs/heads/formatter","pushedAt":"2024-06-18T15:03:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"add recommended extensions and configure formatting","shortMessageHtmlLink":"add recommended extensions and configure formatting"}},{"before":"95d5426274d6345331582ffd479635f3cc06e919","after":"a8bbfbe16acf119694eb62c0c2234d6eec923c41","ref":"refs/heads/main","pushedAt":"2024-06-18T14:55:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"QR Code and Offline Analysis functionality completed (#115)\n\n* Created QR Code icon on admin page\r\n* Created route to a qrscanner page\r\n* Created QR Code reader and generator\r\n* Created webcam feed on qr scanner page\r\n* Created webcam feed that can read a qr code\r\n* QR Code CSS and HTML updates\r\n* Finished the Unit Tests for the QR_reader and the QR_generation\r\n* Caching code works, and the JSON is cached into the chrome browser and can be accessed in the cache, and will not double cache the same data. Still testing if multiple teamMatchPerformances cache too.\r\n* Finished the caching problem I was having. This caches the JSON of the teamMatchPerformance and will not double cache if the button is clicked again. Additionally this is saved under one key \"teamMatchPerformances\" where an array holds all the team matches, and the cache returns this array allowing for easy parsing through each match\r\n* Got the undo button for cache to work perfectly. It makes it so that once you submit the data it removes the submit button. (This may change so that you can scan multiple times without having to reload the page). Right now, undo can remove all entries, it might be changed so that undo only removes one entry to cache.\r\n* Added database undo implementation (works by logging the most recent timestamp, and then deleting the entry in the database with that timestamp)\r\n* created notification for failing to connect to the database. Appears at the bottom right of the screen. This may have to change to drop down from the top so that is matches the form of all other notifications.\r\n* Offline analysis is completely functional\r\n* added notifications for both confirming if the data has been successfully cached and if the most recent entry has been removed properly from cahce. Most important thing is to get database notifications working, for undo.\r\n* The notification has been changed so that it appears at the top of the screen not the bottom right of the screen, since the admins are trained to see the top of the screen for notifications. Need to figure out how to make it so that the notification for database does not come up if the data has already been added to database\r\n* QR code scanning page is now accessible offline, and caches all data if there is no connection to the database\r\n* Resolved error that entailed the notification constantly repeating itself even if the TMP was already present in the database. Added a feature that allows the user to see if the match they are submitting is already in database. Need to improve this feature with more testing and need to add animations so it slides in from top rather than just appearing.\r\n* Moved pipeline to be completely offline (and use a much better system compared to what it previously was)\r\n* Removed all references to the serverside analysis pipeline\r\n* Created an analysis transformers json file for holding information about transformer types (the only two being tmp and team) and adjusted the transformers.js route to use a template file instead of manually adding all the text (prone to error and difficult to change)\r\n* Heavily documented the new transformer / analysis pipeline functionality\r\n* QR code page now syncs its session storage with the database, avoiding duplicates\r\n\r\n---------\r\n\r\nCo-authored-by: Samika Karumuri \r\nCo-authored-by: alannaping \r\nCo-authored-by: agrawalt07 <111532562+agrawalt07@users.noreply.github.com>","shortMessageHtmlLink":"QR Code and Offline Analysis functionality completed (#115)"}},{"before":"a4fa4c147427ed41e8864c79fadf0d33fa309e83","after":"71032c2fe088045765718ef127db5d16c7d8940f","ref":"refs/heads/qr_code","pushedAt":"2024-06-18T14:47:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"replace log with error","shortMessageHtmlLink":"replace log with error"}},{"before":"8c3698a996accb1c967a1b44c4c3ab11b8d1002e","after":"a4fa4c147427ed41e8864c79fadf0d33fa309e83","ref":"refs/heads/qr_code","pushedAt":"2024-06-18T14:46:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"restore manual schedule code","shortMessageHtmlLink":"restore manual schedule code"}},{"before":"5e41575ba37ba85ed707b91cce4c208f4fff9487","after":"8c3698a996accb1c967a1b44c4c3ab11b8d1002e","ref":"refs/heads/qr_code","pushedAt":"2024-06-17T20:22:42.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"Merge branch 'main' into qr_code","shortMessageHtmlLink":"Merge branch 'main' into qr_code"}},{"before":"96a74ce95a7f7b6e1340d0660f99846d3d89d3a3","after":"5e41575ba37ba85ed707b91cce4c208f4fff9487","ref":"refs/heads/qr_code","pushedAt":"2024-06-17T20:07:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"restore match timer","shortMessageHtmlLink":"restore match timer"}},{"before":"037577cf3d9fa55d0ddf60cf7d6a7a5a75d08734","after":"95d5426274d6345331582ffd479635f3cc06e919","ref":"refs/heads/main","pushedAt":"2024-06-17T19:48:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"Demomode config (#114)\n\n* add ability to toggle demo-mode from the setup page instead of solely by editing config.json directly\r\n---------\r\n\r\nCo-authored-by: Allison Shi ","shortMessageHtmlLink":"Demomode config (#114)"}},{"before":"271b926029e351a3050f584ef95134968c342b30","after":"024af9daebe81209665dda66ac41c412e7fe8b34","ref":"refs/heads/demomode-config","pushedAt":"2024-06-17T19:45:16.000Z","pushType":"push","commitsCount":30,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"Merge branch 'main' into demomode-config","shortMessageHtmlLink":"Merge branch 'main' into demomode-config"}},{"before":"046e5fe8b5ffafa783ee0387576d7f51e08db268","after":"271b926029e351a3050f584ef95134968c342b30","ref":"refs/heads/demomode-config","pushedAt":"2024-06-17T19:44:14.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"remove console logs","shortMessageHtmlLink":"remove console logs"}},{"before":"86d7062f4a310ef94e7f39e9aaf3ffa519c59f40","after":"037577cf3d9fa55d0ddf60cf7d6a7a5a75d08734","ref":"refs/heads/main","pushedAt":"2024-06-17T19:27:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"Admin Disconnect (#112)\n\n* add feature where clicking on scouter on admin page force-disconnects that scouter thereby allowing another scouter to be assigned to the match\r\n\r\n---------\r\n\r\nCo-authored-by: Aidan Donnelly <73967906+AidanDonnelly1@users.noreply.github.com>","shortMessageHtmlLink":"Admin Disconnect (#112)"}},{"before":"2ae04b99630cf937a3ccfcbd34674f5cdefad1ae","after":"923e2a915bc20c4e9a6e2df1c196213af211ad7a","ref":"refs/heads/Disconnect-Scouters","pushedAt":"2024-06-17T19:25:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gcschmit","name":"Geoff Schmit","path":"/gcschmit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939236?s=80&v=4"},"commit":{"message":"delete commented out code and potentially confusing comment","shortMessageHtmlLink":"delete commented out code and potentially confusing comment"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQwMTowNTowOS4wMDAwMDBazwAAAAS6S9Np","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xN1QxOToyNTo0Ni4wMDAwMDBazwAAAARnuNHi"}},"title":"Activity ยท HuskieRobotics/SPOT"}