)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"b5884b200e686b3631ff1b772b507c8c801a4475","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current failures returned by modules like package are totally hidden"},{"line_number":10,"context_line":"from zuul UI and the user is forced to look inside JSON file or plain"},{"line_number":11,"context_line":"text output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Failures is a an optional list of strings and if present, we will"},{"line_number":14,"context_line":"display it."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ff570b3c_a1fdebb2","line":11,"updated":"2020-06-10 15:20:20.000000000","message":"Or they could click the \"FAILED\" button on the console output.","commit_id":"99391be7116f90476e34a20cff68698805ee9047"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"0921c435d61ba37df12ad880fe731d22cdbb78d4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current failures returned by modules like package are totally hidden"},{"line_number":10,"context_line":"from zuul UI and the user is forced to look inside JSON file or plain"},{"line_number":11,"context_line":"text output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Failures is a an optional list of strings and if present, we will"},{"line_number":14,"context_line":"display it."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f621f24_502431af","line":11,"in_reply_to":"9f560f44_1d6273ae","updated":"2020-11-10 16:10:04.000000000","message":"Last version of the patch is displaying the field regardless its format, so it will render regardless if is a list, multiline string or even a dictionary.","commit_id":"99391be7116f90476e34a20cff68698805ee9047"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"b9fff6c52c2932d5c2ae5c8af6137844758f2840","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current failures returned by modules like package are totally hidden"},{"line_number":10,"context_line":"from zuul UI and the user is forced to look inside JSON file or plain"},{"line_number":11,"context_line":"text output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Failures is a an optional list of strings and if present, we will"},{"line_number":14,"context_line":"display it."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_1d6273ae","line":11,"in_reply_to":"9f560f44_623983f0","updated":"2020-08-28 00:12:29.000000000","message":"I don\u0027t really see a response to Jim\u0027s point that any module could return this field in an arbitrary format.  For example, taskOutput.renderData() has the facilities to print arbitrary data which this doesn\u0027t.\n\nI agree that clicking on the \"FAILED\", that dumps all the task fields, is not particularly discoverable.  I\u0027d love to see some ideas on that ... even if it changed when you moved over it, it would give some indication to click.  or some sort of header message when you pull down the status box.","commit_id":"99391be7116f90476e34a20cff68698805ee9047"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"5df66bcdefcfd851eb5d89b6b97000622e74d853","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current failures returned by modules like package are totally hidden"},{"line_number":10,"context_line":"from zuul UI and the user is forced to look inside JSON file or plain"},{"line_number":11,"context_line":"text output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Failures is a an optional list of strings and if present, we will"},{"line_number":14,"context_line":"display it."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_623983f0","line":11,"in_reply_to":"ff570b3c_a1fdebb2","updated":"2020-08-25 16:09:41.000000000","message":"That is one of the top used modules and there are no plans to change its behavior. We should not cripple the user experice just because ansible team did not provide identical return values for all modules.\n\nIf this was about a 3rd party module or one of those moved to ansible-collections I would have understood, but this is \"core\" and failing to install some packages is clearly not an uncommon issue.\n\nAlso, it should be noted that the proposed implementation does not change the UI for modules not returning failures, it only expose it when present.","commit_id":"99391be7116f90476e34a20cff68698805ee9047"}],"web/src/containers/build/BuildOutput.jsx":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"8f66e5839877fb1fa2c34099454b803b16e2864f","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            \u003cpre key\u003d\"msg\"\u003e{task.msg}\u003c/pre\u003e"},{"line_number":71,"context_line":"          )}"},{"line_number":72,"context_line":"          {task.failures \u0026\u0026 ("},{"line_number":73,"context_line":"            \u003cpre key\u003d\"failures\"\u003e{task.failures.join(\u0027\\n\u0027)}\u003c/pre\u003e"},{"line_number":74,"context_line":"          )}"},{"line_number":75,"context_line":"          {task.exception \u0026\u0026 ("},{"line_number":76,"context_line":"            \u003cpre key\u003d\"exc\" style\u003d{{ color: \u0027red\u0027 }}\u003e{task.exception}\u003c/pre\u003e"}],"source_content_type":"text/jsx","patch_set":1,"id":"ff570b3c_a11ccbc1","line":73,"updated":"2020-06-10 15:32:40.000000000","message":"We can\u0027t know that failures is a list of strings.  Even if we decide to whitelist this for the one instance we know about, any other module could return a \"failures\" key of a different format.","commit_id":"99391be7116f90476e34a20cff68698805ee9047"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"ada6969297a463e35c6975352bf54c41abf2dcdf","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            \u003cpre key\u003d\"msg\"\u003e{task.msg}\u003c/pre\u003e"},{"line_number":71,"context_line":"          )}"},{"line_number":72,"context_line":"          {task.failures \u0026\u0026 ("},{"line_number":73,"context_line":"            \u003cpre key\u003d\"failures\"\u003e{task.failures.join(\u0027\\n\u0027)}\u003c/pre\u003e"},{"line_number":74,"context_line":"          )}"},{"line_number":75,"context_line":"          {task.exception \u0026\u0026 ("},{"line_number":76,"context_line":"            \u003cpre key\u003d\"exc\" style\u003d{{ color: \u0027red\u0027 }}\u003e{task.exception}\u003c/pre\u003e"}],"source_content_type":"text/jsx","patch_set":1,"id":"1f621f24_dc0e9d39","line":73,"in_reply_to":"ff570b3c_a11ccbc1","updated":"2020-11-10 16:04:27.000000000","message":"This was fixed in last review and now variable type is not assumed to be a list, it will print regardless what it contains.","commit_id":"99391be7116f90476e34a20cff68698805ee9047"},{"author":{"_account_id":27952,"name":"Felix Edel","email":"felix.edel@bmw.de","username":"felix.schmidt"},"change_message_id":"243c1045b400166a5f6376ed857fcfd6d496a750","unresolved":false,"context_lines":[{"line_number":67,"context_line":"             \u003c/pre\u003e"},{"line_number":68,"context_line":"           )}"},{"line_number":69,"context_line":"          {task.msg \u0026\u0026 ("},{"line_number":70,"context_line":"            \u003cpre key\u003d\"msg\"\u003e{task.msg}\u003c/pre\u003e"},{"line_number":71,"context_line":"          )}"},{"line_number":72,"context_line":"          {task.failures \u0026\u0026 ("},{"line_number":73,"context_line":"            \u003cpre title\u003d\"failures\" key\u003d\"failures\"\u003e{task.failures}\u003c/pre\u003e"}],"source_content_type":"text/jsx","patch_set":4,"id":"9f560f44_1441a5a7","line":70,"updated":"2020-09-29 05:39:54.000000000","message":"nit: Was the title attribute removed by accident?","commit_id":"367e8e0907d10a9142fe5e71ab9b971f8313423f"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"c23335e5a361001f76ddb1357b4420a95b064aa3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"             \u003c/pre\u003e"},{"line_number":68,"context_line":"           )}"},{"line_number":69,"context_line":"          {task.msg \u0026\u0026 ("},{"line_number":70,"context_line":"            \u003cpre key\u003d\"msg\"\u003e{task.msg}\u003c/pre\u003e"},{"line_number":71,"context_line":"          )}"},{"line_number":72,"context_line":"          {task.failures \u0026\u0026 ("},{"line_number":73,"context_line":"            \u003cpre title\u003d\"failures\" key\u003d\"failures\"\u003e{task.failures}\u003c/pre\u003e"}],"source_content_type":"text/jsx","patch_set":4,"id":"1f621f24_30009501","line":70,"in_reply_to":"9f560f44_1441a5a7","updated":"2020-11-10 16:05:59.000000000","message":"Fixed in last version.","commit_id":"367e8e0907d10a9142fe5e71ab9b971f8313423f"}]}
