{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":19537979,"defaultBranch":"master","name":"tyk","ownerLogin":"TykTechnologies","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-05-07T14:38:24.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16121529?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715343817.0","currentOid":""},"activityList":{"items":[{"before":"890fea1968f1ce4304d7f3ef86250520d4ff8884","after":"4ef4db1e1ab754ce805c7a301db3c9c3f28009c7","ref":"refs/heads/releng/release-5-lts","pushedAt":"2024-05-10T23:38:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"buger","name":"Leonid Bugaev","path":"/buger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14009?s=80&v=4"},"commit":{"message":"Auto generated from templates by gromit","shortMessageHtmlLink":"Auto generated from templates by gromit"}},{"before":"1177660b22fdce8c94bb148fe09f2783a10d74a1","after":"33359dd18ea0c633de335c30eb588ba9f6cd5e9b","ref":"refs/heads/releng/master","pushedAt":"2024-05-10T23:38:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"buger","name":"Leonid Bugaev","path":"/buger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14009?s=80&v=4"},"commit":{"message":"Auto generated from templates by gromit","shortMessageHtmlLink":"Auto generated from templates by gromit"}},{"before":"29325748a7e0a717a5ea89d804eb0de7f593aad3","after":"5bed101283bb3019912ae1cac946e5a6016d9f33","ref":"refs/heads/releng/release-5.3","pushedAt":"2024-05-10T23:38:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"buger","name":"Leonid Bugaev","path":"/buger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14009?s=80&v=4"},"commit":{"message":"Auto generated from templates by gromit","shortMessageHtmlLink":"Auto generated from templates by gromit"}},{"before":"2abcb41a6d31b2065aa8cc2a540581bc57853f4c","after":"6a696c08ee827e51e8b4e70662ff4302882ccc50","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T13:13:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, removed file that gets automatically updated via gromit","shortMessageHtmlLink":"TT-11566, removed file that gets automatically updated via gromit"}},{"before":"a522656769ad849194646e45aebd0be5ee225c90","after":"2abcb41a6d31b2065aa8cc2a540581bc57853f4c","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T12:58:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, corrected go.mod vers","shortMessageHtmlLink":"TT-11566, corrected go.mod vers"}},{"before":"91663c3552e30835c8ffe647484f00c8546cada9","after":"a522656769ad849194646e45aebd0be5ee225c90","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T12:55:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"Update ci/tests/plugin-compiler/Taskfile.yml\n\nCo-authored-by: Jeffy Mathew ","shortMessageHtmlLink":"Update ci/tests/plugin-compiler/Taskfile.yml"}},{"before":"21cbd7e38de5708bb8a6e53994cca0cb215640dd","after":"91663c3552e30835c8ffe647484f00c8546cada9","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T12:55:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"Update ci/tests/plugin-compiler/README.md\n\nCo-authored-by: Jeffy Mathew ","shortMessageHtmlLink":"Update ci/tests/plugin-compiler/README.md"}},{"before":"24883fecf77950d50bdef1663a6d693f1cc460db","after":"21cbd7e38de5708bb8a6e53994cca0cb215640dd","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T12:55:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"Update Taskfile.yml\n\nCo-authored-by: Jeffy Mathew ","shortMessageHtmlLink":"Update Taskfile.yml"}},{"before":"f76a1f4567d4c5610530ac37f8781b3064218b2a","after":"24883fecf77950d50bdef1663a6d693f1cc460db","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T12:55:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"Update Taskfile.yml\n\nCo-authored-by: Jeffy Mathew ","shortMessageHtmlLink":"Update Taskfile.yml"}},{"before":"74ecbe60bf145fd551814c85793db6135ae8050f","after":null,"ref":"refs/heads/fix/TT-11966/TT-12064/empty-events-edge-cases","pushedAt":"2024-05-10T12:23:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jeffy-mathew","name":"Jeffy Mathew","path":"/jeffy-mathew","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8171046?s=80&v=4"}},{"before":"50d4f80c8e90f93cd72949e381fe374ced4b6463","after":"8fb9d2ebeefb450bd7dc0577ab731d722b4f79dd","ref":"refs/heads/master","pushedAt":"2024-05-10T12:23:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeffy-mathew","name":"Jeffy Mathew","path":"/jeffy-mathew","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8171046?s=80&v=4"},"commit":{"message":"[TT-11966/TT-12064] handle edge case with empty event handlers (#6267)\n\n### **User description**\r\n\r\n\r\n## Description\r\n\r\nhandle missed edge case where event handlers are empty.\r\n## Related Issue\r\nParent task: https://tyktech.atlassian.net/browse/TT-11966\r\nSub task: https://tyktech.atlassian.net/browse/TT-12064\r\n\r\n## Motivation and Context\r\n\r\n\r\n\r\n## How This Has Been Tested\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Screenshots (if appropriate)\r\n\r\n## Types of changes\r\n\r\n\r\n\r\n- [x] Bug fix (non-breaking change which fixes an issue)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing\r\nfunctionality to change)\r\n- [ ] Refactoring or add test (improvements in base code or adds test\r\ncoverage to functionality)\r\n\r\n## Checklist\r\n\r\n\r\n\r\n\r\n\r\n- [ ] I ensured that the documentation is up to date\r\n- [ ] I explained why this PR updates go.mod in detail with reasoning\r\nwhy it's required\r\n- [ ] I would like a code coverage CI quality gate exception and have\r\nexplained why\r\n\r\n\r\n___\r\n\r\n### **PR Type**\r\nBug fix, Tests\r\n\r\n\r\n___\r\n\r\n### **Description**\r\n- Added checks and initializations in `event.go` to handle scenarios\r\nwhere event handlers are empty or undefined, preventing runtime errors.\r\n- Enhanced test coverage in `event_test.go` to include tests for nil and\r\nempty event handlers, ensuring robustness.\r\n\r\n\r\n___\r\n\r\n\r\n\r\n### **Changes walkthrough** 📝\r\n
Relevant\r\nfiles
Bug fix\r\n\r\n\r\n \r\n\r\n \r\n
\r\n
\r\nevent.go
Handle edge cases and\r\ninitialization for empty event handlers
\r\n
\r\n\r\napidef/oas/event.go\r\n
  • Added initialization of EventHandlers to handle cases\r\nwhere event
    handlers are empty.
  • Ensured\r\napi.EventHandlers.Events is initialized before use to\r\nprevent
    nil map assignments.
    \r\n\r\n\r\n
  • \r\n \r\n\r\n
    +6/-5 \r\n   
    Tests\r\n\r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\nevent_test.go
    Extend unit tests for\r\nevent handler edge cases           \r\n         
    \r\n
    \r\n\r\napidef/oas/event_test.go\r\n
  • Added test cases for nil and empty event handlers.
  • Modified\r\nexisting test cases to include scenarios with pre-existing
    event\r\nhandlers.
    \r\n\r\n\r\n
  • \r\n \r\n\r\n
    +34/-4 \r\n 
    \r\n\r\n___\r\n\r\n> 💡 **PR-Agent usage**:\r\n>Comment `/help` on the PR to get a list of all available PR-Agent tools\r\nand their descriptions","shortMessageHtmlLink":"[TT-11966/TT-12064] handle edge case with empty event handlers (#6267)"}},{"before":"db041c610c015cd2d2b15ea437aa8f354e19bfd8","after":"74ecbe60bf145fd551814c85793db6135ae8050f","ref":"refs/heads/fix/TT-11966/TT-12064/empty-events-edge-cases","pushedAt":"2024-05-10T12:00:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jeffy-mathew","name":"Jeffy Mathew","path":"/jeffy-mathew","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8171046?s=80&v=4"},"commit":{"message":"handle edge case with empty event handlers","shortMessageHtmlLink":"handle edge case with empty event handlers"}},{"before":"240c634ee8d4961bb2788f146c58fe8156cccef8","after":"db041c610c015cd2d2b15ea437aa8f354e19bfd8","ref":"refs/heads/fix/TT-11966/TT-12064/empty-events-edge-cases","pushedAt":"2024-05-10T11:54:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jeffy-mathew","name":"Jeffy Mathew","path":"/jeffy-mathew","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8171046?s=80&v=4"},"commit":{"message":"handle edge case with empty event handlers","shortMessageHtmlLink":"handle edge case with empty event handlers"}},{"before":"bc713c248dd9d09be18a9679f774bd54a3992830","after":"f76a1f4567d4c5610530ac37f8781b3064218b2a","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T11:54:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, added more detailed comments","shortMessageHtmlLink":"TT-11566, added more detailed comments"}},{"before":"8d4b0ee5feff1fa6eec821a1c7270ca72eedd045","after":"bc713c248dd9d09be18a9679f774bd54a3992830","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T11:48:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, added fix to ensure clients are still able to use deprecated ciphers","shortMessageHtmlLink":"TT-11566, added fix to ensure clients are still able to use deprecate…"}},{"before":null,"after":"240c634ee8d4961bb2788f146c58fe8156cccef8","ref":"refs/heads/fix/TT-11966/TT-12064/empty-events-edge-cases","pushedAt":"2024-05-10T11:46:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jeffy-mathew","name":"Jeffy Mathew","path":"/jeffy-mathew","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8171046?s=80&v=4"},"commit":{"message":"handle edge case with empty event handlers","shortMessageHtmlLink":"handle edge case with empty event handlers"}},{"before":"b66cdd64996e4936f9f9361ec1a0475eadeb3fd8","after":"45ed8d5a8c5a01d6a3b98300f20002ff15ee4d2c","ref":"refs/heads/test/update-processSpec-structure-of-middleware-chain","pushedAt":"2024-05-10T10:41:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"titpetric","name":"Tit Petric","path":"/titpetric","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/233360?s=80&v=4"},"commit":{"message":"Reorder EnabledForSpec to honor final middleware","shortMessageHtmlLink":"Reorder EnabledForSpec to honor final middleware"}},{"before":null,"after":"b66cdd64996e4936f9f9361ec1a0475eadeb3fd8","ref":"refs/heads/test/update-processSpec-structure-of-middleware-chain","pushedAt":"2024-05-10T10:21:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"titpetric","name":"Tit Petric","path":"/titpetric","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/233360?s=80&v=4"},"commit":{"message":"Add middleware overrides, refactor to use TykMiddleware in mw chain","shortMessageHtmlLink":"Add middleware overrides, refactor to use TykMiddleware in mw chain"}},{"before":"6cb683265a88231c638e5b60dfbe87ee45eb5db1","after":"8d4b0ee5feff1fa6eec821a1c7270ca72eedd045","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T10:20:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, deleted ancient go1.10 specific test","shortMessageHtmlLink":"TT-11566, deleted ancient go1.10 specific test"}},{"before":"95171efc11f7fb04db755c3e23d4856d477c3a67","after":"6cb683265a88231c638e5b60dfbe87ee45eb5db1","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T09:12:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, trial with upstream tls ciphers","shortMessageHtmlLink":"TT-11566, trial with upstream tls ciphers"}},{"before":"900579089d4c3398d38be2d682b7842591a59275","after":"95171efc11f7fb04db755c3e23d4856d477c3a67","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T07:55:50.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, fixed some more missing go version upgrades","shortMessageHtmlLink":"TT-11566, fixed some more missing go version upgrades"}},{"before":"d99a5f7903addd44ebac40e37c7306951679e7b7","after":"900579089d4c3398d38be2d682b7842591a59275","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T07:43:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, updated workflows","shortMessageHtmlLink":"TT-11566, updated workflows"}},{"before":"c4f504406ec6531759c62599fd468f20fad44d56","after":"d99a5f7903addd44ebac40e37c7306951679e7b7","ref":"refs/heads/TT-11566-update-gateway-dashboard-to-go-1-22","pushedAt":"2024-05-10T07:41:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andrei-tyk","name":null,"path":"/andrei-tyk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97896463?s=80&v=4"},"commit":{"message":"TT-11566, fixed unit tests that were using recently disabled cyphers for happy path","shortMessageHtmlLink":"TT-11566, fixed unit tests that were using recently disabled cyphers …"}},{"before":"7c3fd6483fb7f620c954f4e9430b039e8e8f90d7","after":"0c9ca1e26bc578ca79f12827207b2ab5ed199552","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T22:20:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"remove unused param","shortMessageHtmlLink":"remove unused param"}},{"before":"9c07cd7b841f3dda32e6f4c077bc1b979a53cfc3","after":"7c3fd6483fb7f620c954f4e9430b039e8e8f90d7","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T22:03:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"remove new line","shortMessageHtmlLink":"remove new line"}},{"before":"6a13d113bb52638aa77aba1d64132beebb0d567e","after":"9c07cd7b841f3dda32e6f4c077bc1b979a53cfc3","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T22:02:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"uncomment TestCoprocessAPIs","shortMessageHtmlLink":"uncomment TestCoprocessAPIs"}},{"before":"fbfd4e562e8761d2f0a40b73b37ac7379f8dfc75","after":"6a13d113bb52638aa77aba1d64132beebb0d567e","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T22:01:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"addressing sonarcloud alerts","shortMessageHtmlLink":"addressing sonarcloud alerts"}},{"before":"deabd4b29f5a850b7dd981e9a502dee638952775","after":"fbfd4e562e8761d2f0a40b73b37ac7379f8dfc75","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T21:28:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"updated TestRPCStorageHandler_BuildNodeInfo","shortMessageHtmlLink":"updated TestRPCStorageHandler_BuildNodeInfo"}},{"before":"fcddd75b482397dfb5c8f8b51d2e4e795349eeb6","after":"deabd4b29f5a850b7dd981e9a502dee638952775","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T19:33:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"update TestGetGroupLoginCallback","shortMessageHtmlLink":"update TestGetGroupLoginCallback"}},{"before":"6cdd57dbc40429e6a26eee5fb99716b035eb8a99","after":"fcddd75b482397dfb5c8f8b51d2e4e795349eeb6","ref":"refs/heads/TT-11470-human-readable-info","pushedAt":"2024-05-09T18:25:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"sredxny","name":"Sredny M.","path":"/sredxny","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4504205?s=80&v=4"},"commit":{"message":"Merge branch 'TT-11470-human-readable-info' of github.com:TykTechnologies/tyk into TT-11470-human-readable-info","shortMessageHtmlLink":"Merge branch 'TT-11470-human-readable-info' of github.com:TykTechnolo…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERv9R3wA","startCursor":null,"endCursor":null}},"title":"Activity · TykTechnologies/tyk"}