)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"909172cde4f5a4dbf40431b48550927c5c59347f","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Enable CSRF token handling for swift dashboard"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Swift dashboard uses DELETE request, which is not covered by current CSRF"},{"line_number":10,"context_line":"token injection method. Also, CSRF token is not passed through HTTP at"},{"line_number":11,"context_line":"this dashboard, so CSRF_COOKIE_HTTPONLY option breaks the dashboard"},{"line_number":12,"context_line":"operation. Proposed patch fixes both issues"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If6a20bc363fe72f0693c008c79af76143344aec8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f94ed42c_b005c85a","line":12,"range":{"start_line":10,"start_character":24,"end_line":12,"end_character":43},"updated":"2021-09-08 20:01:21.000000000","message":"Is there any way I can actually test this patch? If yes, then you could please tell me steps to reproduce it.","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"8b92e09185f36614d57017553f20437865cd3ae5","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Enable CSRF token handling for swift dashboard"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Swift dashboard uses DELETE request, which is not covered by current CSRF"},{"line_number":10,"context_line":"token injection method. Also, CSRF token is not passed through HTTP at"},{"line_number":11,"context_line":"this dashboard, so CSRF_COOKIE_HTTPONLY option breaks the dashboard"},{"line_number":12,"context_line":"operation. Proposed patch fixes both issues"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If6a20bc363fe72f0693c008c79af76143344aec8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa43f5a4_162390e4","line":12,"range":{"start_line":10,"start_character":24,"end_line":12,"end_character":43},"in_reply_to":"d3bf2036_a2770907","updated":"2021-09-14 05:53:11.000000000","message":"thanks for adding info. to test it.","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":27838,"name":"Vadym Markov","email":"vmarkov@mirantis.com","username":"vmarkov"},"change_message_id":"5216fa53b5fa610e46ef3abbbac2f3494b39ebdf","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Enable CSRF token handling for swift dashboard"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Swift dashboard uses DELETE request, which is not covered by current CSRF"},{"line_number":10,"context_line":"token injection method. Also, CSRF token is not passed through HTTP at"},{"line_number":11,"context_line":"this dashboard, so CSRF_COOKIE_HTTPONLY option breaks the dashboard"},{"line_number":12,"context_line":"operation. Proposed patch fixes both issues"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If6a20bc363fe72f0693c008c79af76143344aec8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d3bf2036_a2770907","line":12,"range":{"start_line":10,"start_character":24,"end_line":12,"end_character":43},"in_reply_to":"f94ed42c_b005c85a","updated":"2021-09-09 11:52:31.000000000","message":"I set up \n\nCSRF_COOKIE_SECURE \u003d True\nSESSION_COOKIE_SECURE \u003d True\nCSRF_COOKIE_HTTPONLY \u003d True\nSESSION_COOKIE_HTTPONLY \u003d True\n\nin local_settings.py and tried to create new or delete existing container in Project-\u003eObject storage dashboard. Both attempts failed, but by different reason: absence of csrf token in page source and DELETE req without csrf header","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"cb4aa6218605d2c8bd6d419189548e2e305d9d65","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Enable CSRF token handling for swift dashboard"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Swift dashboard uses DELETE request, which is not covered by current CSRF"},{"line_number":10,"context_line":"token injection method. Also, CSRF token is not passed through HTTP at"},{"line_number":11,"context_line":"this dashboard, so CSRF_COOKIE_HTTPONLY option breaks the dashboard"},{"line_number":12,"context_line":"operation. Proposed patch fixes both issues"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If6a20bc363fe72f0693c008c79af76143344aec8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"0eaf9d31_955cc164","line":12,"range":{"start_line":10,"start_character":24,"end_line":12,"end_character":43},"in_reply_to":"fa43f5a4_162390e4","updated":"2026-02-27 09:17:35.000000000","message":"Done","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"f8e3048ebcb25050a39bf2cc03565a53ad7c0a1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"465048ae_e547db25","updated":"2026-02-27 09:12:21.000000000","message":"recheck, CI should be fine now.","commit_id":"75028ad45edb975f7a848675ce24f12f03ac5b4b"},{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"99b63695f1ad95f9b3e1ef26b9cbad5323b69212","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c942e651_69f7f152","updated":"2026-02-26 13:22:35.000000000","message":"recheck, CI should be fixed now.","commit_id":"75028ad45edb975f7a848675ce24f12f03ac5b4b"}],"openstack_dashboard/dashboards/project/containers/templates/containers/ngindex.html":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"909172cde4f5a4dbf40431b48550927c5c59347f","unresolved":true,"context_lines":[{"line_number":11,"context_line":"{% endblock %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% block ng_route_base %}"},{"line_number":14,"context_line":"  {% csrf_token %}"},{"line_number":15,"context_line":"  \u003cbase href\u003d\"{{ WEBROOT }}\"\u003e"},{"line_number":16,"context_line":"{% endblock %}"},{"line_number":17,"context_line":""}],"source_content_type":"text/html","patch_set":1,"id":"6d4feaca_470f7d89","line":14,"range":{"start_line":14,"start_character":2,"end_line":14,"end_character":18},"updated":"2021-09-08 20:01:21.000000000","message":"Do we need similar change for flavor dashboard [1] ?\n\n[1] https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/admin/ngflavors/templates/ngflavors/index.html#L9","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":27838,"name":"Vadym Markov","email":"vmarkov@mirantis.com","username":"vmarkov"},"change_message_id":"5216fa53b5fa610e46ef3abbbac2f3494b39ebdf","unresolved":true,"context_lines":[{"line_number":11,"context_line":"{% endblock %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% block ng_route_base %}"},{"line_number":14,"context_line":"  {% csrf_token %}"},{"line_number":15,"context_line":"  \u003cbase href\u003d\"{{ WEBROOT }}\"\u003e"},{"line_number":16,"context_line":"{% endblock %}"},{"line_number":17,"context_line":""}],"source_content_type":"text/html","patch_set":1,"id":"f3c93757_61a86a73","line":14,"range":{"start_line":14,"start_character":2,"end_line":14,"end_character":18},"in_reply_to":"6d4feaca_470f7d89","updated":"2021-09-09 11:52:31.000000000","message":"Not sure. Issues related to CSRF on the flavor dashboard on the same environment were fixed by https://review.opendev.org/c/openstack/horizon/+/799094 patch","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"cb4aa6218605d2c8bd6d419189548e2e305d9d65","unresolved":false,"context_lines":[{"line_number":11,"context_line":"{% endblock %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% block ng_route_base %}"},{"line_number":14,"context_line":"  {% csrf_token %}"},{"line_number":15,"context_line":"  \u003cbase href\u003d\"{{ WEBROOT }}\"\u003e"},{"line_number":16,"context_line":"{% endblock %}"},{"line_number":17,"context_line":""}],"source_content_type":"text/html","patch_set":1,"id":"b8225da6_196dbd59","line":14,"range":{"start_line":14,"start_character":2,"end_line":14,"end_character":18},"in_reply_to":"f3c93757_61a86a73","updated":"2026-02-27 09:17:35.000000000","message":"Done","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"a3eb41d0a59877bde4de8f5332704b2356de8a14","unresolved":true,"context_lines":[{"line_number":11,"context_line":"{% endblock %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% block ng_route_base %}"},{"line_number":14,"context_line":"  {% csrf_token %}"},{"line_number":15,"context_line":"  \u003cbase href\u003d\"{{ WEBROOT }}\"\u003e"},{"line_number":16,"context_line":"{% endblock %}"},{"line_number":17,"context_line":""}],"source_content_type":"text/html","patch_set":3,"id":"112154dd_27ded928","line":14,"updated":"2021-10-01 07:24:10.000000000","message":"Is this a leftover from debugging?","commit_id":"43e89a42e9733caefc47e584a52c8d087104788f"},{"author":{"_account_id":27838,"name":"Vadym Markov","email":"vmarkov@mirantis.com","username":"vmarkov"},"change_message_id":"93bd04643d4e2801ea0d6c8a3cfc0898d40030ef","unresolved":true,"context_lines":[{"line_number":11,"context_line":"{% endblock %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% block ng_route_base %}"},{"line_number":14,"context_line":"  {% csrf_token %}"},{"line_number":15,"context_line":"  \u003cbase href\u003d\"{{ WEBROOT }}\"\u003e"},{"line_number":16,"context_line":"{% endblock %}"},{"line_number":17,"context_line":""}],"source_content_type":"text/html","patch_set":3,"id":"6d77050f_3f3d4041","line":14,"in_reply_to":"112154dd_27ded928","updated":"2021-10-05 14:32:35.000000000","message":"No, it is intended. Tag was missing totally at the \u0027Containers\u0027 page","commit_id":"43e89a42e9733caefc47e584a52c8d087104788f"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"cb4aa6218605d2c8bd6d419189548e2e305d9d65","unresolved":false,"context_lines":[{"line_number":11,"context_line":"{% endblock %}"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% block ng_route_base %}"},{"line_number":14,"context_line":"  {% csrf_token %}"},{"line_number":15,"context_line":"  \u003cbase href\u003d\"{{ WEBROOT }}\"\u003e"},{"line_number":16,"context_line":"{% endblock %}"},{"line_number":17,"context_line":""}],"source_content_type":"text/html","patch_set":3,"id":"0b87b7fc_18a1b3e2","line":14,"in_reply_to":"6d77050f_3f3d4041","updated":"2026-02-27 09:17:35.000000000","message":"Done","commit_id":"43e89a42e9733caefc47e584a52c8d087104788f"}],"openstack_dashboard/static/app/app.module.js":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"909172cde4f5a4dbf40431b48550927c5c59347f","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    $route"},{"line_number":113,"context_line":"  ) {"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    var csrftoken \u003d $cookies.csrftoken ||"},{"line_number":116,"context_line":"        $(\u0027input[name\u003d\"csrfmiddlewaretoken\"]\u0027).val();"},{"line_number":117,"context_line":"    $http.defaults.headers.common[\u0027X-CSRFToken\u0027] \u003d csrftoken;"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    // expose the legacy utils module"},{"line_number":120,"context_line":"    horizon.utils \u003d hzUtils;"}],"source_content_type":"text/javascript","patch_set":1,"id":"09721803_9c29fe50","line":117,"range":{"start_line":115,"start_character":4,"end_line":117,"end_character":61},"updated":"2021-09-08 20:01:21.000000000","message":"This is change is already merged in https://review.opendev.org/c/openstack/horizon/+/799094.\nSo you have to rebase your patch on master.","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"cb4aa6218605d2c8bd6d419189548e2e305d9d65","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    $route"},{"line_number":113,"context_line":"  ) {"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    var csrftoken \u003d $cookies.csrftoken ||"},{"line_number":116,"context_line":"        $(\u0027input[name\u003d\"csrfmiddlewaretoken\"]\u0027).val();"},{"line_number":117,"context_line":"    $http.defaults.headers.common[\u0027X-CSRFToken\u0027] \u003d csrftoken;"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    // expose the legacy utils module"},{"line_number":120,"context_line":"    horizon.utils \u003d hzUtils;"}],"source_content_type":"text/javascript","patch_set":1,"id":"9675f037_e46c4455","line":117,"range":{"start_line":115,"start_character":4,"end_line":117,"end_character":61},"in_reply_to":"05e557dd_d1222b66","updated":"2026-02-27 09:17:35.000000000","message":"Done","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"},{"author":{"_account_id":27838,"name":"Vadym Markov","email":"vmarkov@mirantis.com","username":"vmarkov"},"change_message_id":"5216fa53b5fa610e46ef3abbbac2f3494b39ebdf","unresolved":true,"context_lines":[{"line_number":112,"context_line":"    $route"},{"line_number":113,"context_line":"  ) {"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    var csrftoken \u003d $cookies.csrftoken ||"},{"line_number":116,"context_line":"        $(\u0027input[name\u003d\"csrfmiddlewaretoken\"]\u0027).val();"},{"line_number":117,"context_line":"    $http.defaults.headers.common[\u0027X-CSRFToken\u0027] \u003d csrftoken;"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    // expose the legacy utils module"},{"line_number":120,"context_line":"    horizon.utils \u003d hzUtils;"}],"source_content_type":"text/javascript","patch_set":1,"id":"05e557dd_d1222b66","line":117,"range":{"start_line":115,"start_character":4,"end_line":117,"end_character":61},"in_reply_to":"09721803_9c29fe50","updated":"2021-09-09 11:52:31.000000000","message":"Ok, will do it ASAP","commit_id":"dfac4584c189752ba8b8629be83d8720305d2726"}]}
