)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b81616967e220fbcbeb323600bf695db6ec6f0b0","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix errors in portRangeRegex"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Fix for 0000 port \u003d valid"},{"line_number":10,"context_line":"2. 2 bytes \u003d 65536, starting from 0"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If746208190e86b02bd5a5da01ca0b4ae059ffcc9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"b88e637f_8c0a16ff","line":9,"updated":"2025-05-22 07:52:42.000000000","message":"why would you use \"0000\" instead of just \"0\"?","commit_id":"541bb0163808222e68015131590a9fd63e98fa6a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"25aca147647e88ad6fa38e384d38b360ffe229f0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix errors in portRangeRegex"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Fix for 0000 port \u003d valid"},{"line_number":10,"context_line":"2. 2 bytes \u003d 65536, starting from 0"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: If746208190e86b02bd5a5da01ca0b4ae059ffcc9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"d913b0d2_01013b13","line":9,"in_reply_to":"b88e637f_8c0a16ff","updated":"2025-05-22 07:54:13.000000000","message":"this one of users cases, just added fix for it..","commit_id":"541bb0163808222e68015131590a9fd63e98fa6a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"82ec8735c6fc152b819102781cb11ca1556df279","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"20710db7_170cc5b3","updated":"2025-05-07 19:48:17.000000000","message":"@noonedeadpunk@gmail.com maybe I didn\u0027t take something into account, but I think it\u0027s better than it is now.","commit_id":"0b441d7de26b75e01caf59b655a7df3a0a4f5c2b"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"f193c147b829043ef439f35b6efbdd648a11359f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6be3b352_3402707a","updated":"2025-05-16 12:17:05.000000000","message":"@frickler@offenerstapel.de hello, if possible, please check it, maybe I missed something...","commit_id":"e3e8a3faddad67efae658f55464c15761a1d68e1"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1938006b1baae16335cff7545a75b5357e652659","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1b23c917_91e7fbb6","updated":"2025-05-14 20:59:13.000000000","message":"after https://review.opendev.org/c/openstack/skyline-apiserver/+/949524","commit_id":"e3e8a3faddad67efae658f55464c15761a1d68e1"},{"author":{"_account_id":6799,"name":"Nicholas Kuechler","email":"nkuechler@gmail.com","username":"nicholaskuechler"},"change_message_id":"abbb061b64b0e8cd62e4cf036b39a33ca9c1a7ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2393df9d_7bbcbaaa","updated":"2025-05-14 19:16:47.000000000","message":"recheck","commit_id":"e3e8a3faddad67efae658f55464c15761a1d68e1"},{"author":{"_account_id":30434,"name":"Jingwei.Zhang","email":"zhang.jingwei@algoblu.com","username":"jwzhang"},"change_message_id":"aa4582ad89cc737432958f052adc1249c50d9ddf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7fdd569a_fa7b8799","updated":"2025-05-28 03:39:43.000000000","message":"recheck -- for skyline-console-devstack-e2etests-compute failed","commit_id":"fd5dd890dbbae291181e1a4ab15488286d3d98de"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"812af281ee9045c9d769f017d3165ba322857a0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"775a8e20_9dbf843f","updated":"2025-05-29 12:28:41.000000000","message":"recheck","commit_id":"776f278c4a906b0767b88e626c77b947fccce78e"},{"author":{"_account_id":6799,"name":"Nicholas Kuechler","email":"nkuechler@gmail.com","username":"nicholaskuechler"},"change_message_id":"a6269f42fc23ccc46326dfc0ffe9168def7f4659","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a3893951_07116934","updated":"2025-06-09 14:13:55.000000000","message":"I think I see the issue. Since it changed from a regex to a function, I think a few places need to be updated to switch away from the old regex:\n\n```\n$ grep -r portRangeRegex.test .\n./utils/validate.js:  if (portRangeRegex.test(value)) {\n./pages/network/containers/FloatingIp/Detail/PortForwarding/actions/Create.jsx:    if (!portRangeRegex.test(internalPortInput)) {\n./pages/network/containers/FloatingIp/Detail/PortForwarding/actions/Create.jsx:    if (!portRangeRegex.test(value)) {\n./pages/network/containers/FloatingIp/Detail/PortForwarding/actions/Create.jsx:    if (!portRangeRegex.test(externalPortInput)) {\n./pages/network/containers/FloatingIp/Detail/PortForwarding/actions/Create.jsx:    if (!portRangeRegex.test(value)) {\n```\n\nI believe all the references to `portRangeRegex.test` should be changed to just `portRangeRegex` (without the .test).","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"a771795ccc3ebeb42be9ed4e04aaf9d5e908e057","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0f4dfdd3_21dd7742","updated":"2025-06-05 03:44:06.000000000","message":"Please check here, it seems this patch has a bug, but I could find why.\nhttps://5125be418d93521dc669-217c5d59ee9178b06ecc76d8426e75cb.ssl.cf1.rackcdn.com/openstack/1fff5c01dade475ba94abb0bb6a6d0b0/controller/logs/videos/pages/network/security-group.spec.js.mp4","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":6799,"name":"Nicholas Kuechler","email":"nkuechler@gmail.com","username":"nicholaskuechler"},"change_message_id":"1a7807a564d51a4d2406cacfd7d4a1473a0a7b7c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"00af9d12_08f9f692","updated":"2025-06-02 16:43:55.000000000","message":"recheck","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8daebf486a2b5dd288f8e5855b8e95261a7ecef2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"810d82b0_2b591e2e","updated":"2025-05-31 22:31:15.000000000","message":"recheck","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"a91f48a1c1a8924108d9cf3ec00a2e8928dfd831","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"941304a7_64ee0559","updated":"2025-06-05 08:28:04.000000000","message":"recheck","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"f26ba92fbd1b0941d0450688f584c9610aaf81e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"e60d3e66_3917f6a7","updated":"2025-05-31 20:52:41.000000000","message":"recheck","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"c5f2f9c542fc757993690dc905f6b9a6f081e7bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"b91dd6bd_a1ac0076","in_reply_to":"a3893951_07116934","updated":"2025-06-09 16:27:37.000000000","message":"Thank you 😊","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":6799,"name":"Nicholas Kuechler","email":"nkuechler@gmail.com","username":"nicholaskuechler"},"change_message_id":"6d9fac7af416a6e02be634e55efbc34a4acfdb1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"96cfc6f1_c114276d","in_reply_to":"b91dd6bd_a1ac0076","updated":"2025-06-09 16:38:16.000000000","message":"👍","commit_id":"1ee77470a592a0d3b989254a2ba2df6c87068bf1"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"159c9329e8bc0fb2726f940f500427256d28446f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"110cea3a_21543a05","updated":"2025-06-12 12:23:16.000000000","message":"recheck","commit_id":"4a7d5f0315094d7dfb25a1fd892e8e7e875138f7"},{"author":{"_account_id":37632,"name":"Dmitriy Chubinidze","email":"dcu995@gmail.com","username":"chubinidzedr"},"change_message_id":"269b236ab302088b7dcd0f7bb9f3f290fe0dd999","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c67ed9bc_859c5467","updated":"2025-06-12 14:18:05.000000000","message":"recheck","commit_id":"4a7d5f0315094d7dfb25a1fd892e8e7e875138f7"}],"src/utils/validate.js":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b81616967e220fbcbeb323600bf695db6ec6f0b0","unresolved":true,"context_lines":[{"line_number":22,"context_line":"const cidr \u003d cidrRegex({ exact: true });"},{"line_number":23,"context_line":"const ipCidr \u003d v4({ exact: true });"},{"line_number":24,"context_line":"const ipv6Cidr \u003d v6({ exact: true });"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"const nameRegex \u003d"},{"line_number":27,"context_line":"  /^[a-zA-Z\\u4e00-\\u9fa5][\\u4e00-\\u9fa5\\w\"\u0027\\[\\]^.:()_-]{0,127}$/; // eslint-disable-line"},{"line_number":28,"context_line":""}],"source_content_type":"text/javascript","patch_set":5,"id":"0fceaf13_fbcc413d","line":25,"updated":"2025-05-22 07:52:42.000000000","message":"adding all these empty lines is unrelated and shouldn\u0027t be done in this patch IMO","commit_id":"541bb0163808222e68015131590a9fd63e98fa6a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"5c5856c081be4c281fa90846ab917fda477c5548","unresolved":false,"context_lines":[{"line_number":22,"context_line":"const cidr \u003d cidrRegex({ exact: true });"},{"line_number":23,"context_line":"const ipCidr \u003d v4({ exact: true });"},{"line_number":24,"context_line":"const ipv6Cidr \u003d v6({ exact: true });"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"const nameRegex \u003d"},{"line_number":27,"context_line":"  /^[a-zA-Z\\u4e00-\\u9fa5][\\u4e00-\\u9fa5\\w\"\u0027\\[\\]^.:()_-]{0,127}$/; // eslint-disable-line"},{"line_number":28,"context_line":""}],"source_content_type":"text/javascript","patch_set":5,"id":"f444fd7f_c14a755a","line":25,"in_reply_to":"0fceaf13_fbcc413d","updated":"2025-05-22 07:56:04.000000000","message":"No problem, sorted, it\u0027s just easier to read that way 😊","commit_id":"541bb0163808222e68015131590a9fd63e98fa6a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b81616967e220fbcbeb323600bf695db6ec6f0b0","unresolved":true,"context_lines":[{"line_number":29,"context_line":"const macRegex \u003d /^[A-F0-9]{2}(:[A-F0-9]{2}){5}$/;"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"const portRangeRegex \u003d"},{"line_number":32,"context_line":"  /^((?!0000$)([1-9][0-9]{0,4}|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5]))(:([1-9][0-9]{0,4}|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5]))?$/;"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"const ipWithMask \u003d"},{"line_number":35,"context_line":"  /^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\/([1-9]|[1-2]\\d|3[0-2])$/;"}],"source_content_type":"text/javascript","patch_set":5,"id":"52284d8c_54ef3a50","line":32,"updated":"2025-05-22 07:52:42.000000000","message":"this regex is really hefty and I cannot claim to understand it, there should be some unit tests verifying it\n\nthat said, doesn\u0027t it also block some other valid numbers like 65530, 65509, 65011, 60111?","commit_id":"541bb0163808222e68015131590a9fd63e98fa6a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"ac9cf636a8031218b6f2f0a1d551282a9fbf0386","unresolved":false,"context_lines":[{"line_number":29,"context_line":"const macRegex \u003d /^[A-F0-9]{2}(:[A-F0-9]{2}){5}$/;"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"const portRangeRegex \u003d"},{"line_number":32,"context_line":"  /^((?!0000$)([1-9][0-9]{0,4}|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5]))(:([1-9][0-9]{0,4}|[1-5]?[0-9]{2,4}|6[1-4][0-9]{3}|65[1-4][0-9]{2}|655[1-2][0-9]|6553[1-5]))?$/;"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"const ipWithMask \u003d"},{"line_number":35,"context_line":"  /^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\/([1-9]|[1-2]\\d|3[0-2])$/;"}],"source_content_type":"text/javascript","patch_set":5,"id":"c41a46bc_7ef832a2","line":32,"in_reply_to":"52284d8c_54ef3a50","updated":"2025-05-22 08:05:45.000000000","message":"yes, your right, updated again.","commit_id":"541bb0163808222e68015131590a9fd63e98fa6a"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"3418407b0f225b1ad8e2973693f8bac1adbfa101","unresolved":true,"context_lines":[{"line_number":26,"context_line":"  /^[a-zA-Z\\u4e00-\\u9fa5][\\u4e00-\\u9fa5\\w\"\u0027\\[\\]^.:()_-]{0,127}$/; // eslint-disable-line"},{"line_number":27,"context_line":"const macRegex \u003d /^[A-F0-9]{2}(:[A-F0-9]{2}){5}$/;"},{"line_number":28,"context_line":"const portRangeRegex \u003d"},{"line_number":29,"context_line":"  /^(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-9][0-9]{0,4}|0)(:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-9][0-9]{0,4}|0))?$/;"},{"line_number":30,"context_line":"const ipWithMask \u003d"},{"line_number":31,"context_line":"  /^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\/([1-9]|[1-2]\\d|3[0-2])$/;"},{"line_number":32,"context_line":"const passwordRegex \u003d"}],"source_content_type":"text/javascript","patch_set":8,"id":"11edacdc_9ed8f86d","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":159},"updated":"2025-05-29 06:39:57.000000000","message":"^(6553[0-5]|655[0-2]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[1-5]\\d{4}|[1-9]\\d{0,3}|0)(:(6553[0-5]|655[0-2]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[1-5]\\d{4}|[1-9]\\d{0,3}|0))?$\n\n1. The part [1-9][0-9]{0,4} allows numbers up to 99999, which exceeds the valid port range of 0–65535. Suggest modify as above.\n2. These codes are difficult to read... why not split by\":\", then judge the int?","commit_id":"fd5dd890dbbae291181e1a4ab15488286d3d98de"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"41d49ca0f05c05f80deef82793b498b377b9e9c4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  /^[a-zA-Z\\u4e00-\\u9fa5][\\u4e00-\\u9fa5\\w\"\u0027\\[\\]^.:()_-]{0,127}$/; // eslint-disable-line"},{"line_number":27,"context_line":"const macRegex \u003d /^[A-F0-9]{2}(:[A-F0-9]{2}){5}$/;"},{"line_number":28,"context_line":"const portRangeRegex \u003d"},{"line_number":29,"context_line":"  /^(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-9][0-9]{0,4}|0)(:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-9][0-9]{0,4}|0))?$/;"},{"line_number":30,"context_line":"const ipWithMask \u003d"},{"line_number":31,"context_line":"  /^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\/([1-9]|[1-2]\\d|3[0-2])$/;"},{"line_number":32,"context_line":"const passwordRegex \u003d"}],"source_content_type":"text/javascript","patch_set":8,"id":"c4ea4094_458723bb","line":29,"range":{"start_line":29,"start_character":2,"end_line":29,"end_character":159},"in_reply_to":"11edacdc_9ed8f86d","updated":"2025-06-09 14:57:03.000000000","message":"Done","commit_id":"fd5dd890dbbae291181e1a4ab15488286d3d98de"}]}
