)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14228,"name":"Clif Houck","email":"me@clifhouck.com","username":"clif_h"},"change_message_id":"16d7908a374ede7fe25cc0f5bca8883fb75381ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"93594670_832dc0da","updated":"2025-10-02 16:58:52.000000000","message":"LGTM, everything looks reasonable. However I wonder how one tests all these besides manually...","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"df22868f1f46a7daee1f2a7b5a71dd681851dd88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"880fca9a_721ce3d3","updated":"2025-09-26 19:18:53.000000000","message":"So, I\u0027ve taken a look at this twice and it looks like a fairly clean drop-in. It does change the browser, but this seems way better overall.","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"bd274a4dad393febf8d9e13474268d3afd018e1b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"60579eb6_ef0d4fc0","updated":"2025-09-26 19:59:21.000000000","message":"To be explicit: +1 instead of +2 is simply because I\u0027d want to test something of this size before core reviewing it. Comment below is not blocking feedback.\n\nI know we can\u0027t be fully platform-agnostic, but there are a couple of not-awesome things here:\n- Use of a centos*-stream:latest container, which makes me nervous because it can change, especially since we don\u0027t CI test this\n- Generally being single-platform; for instance, I\u0027ll have to re-implement some nonzero portion of this for Ubuntu. It can\u0027t be avoided given the design choices, but it\u0027s sad nonetheless.","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"f0343e8ed29a96798a48a84e4a8c5dfa5a542d00","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"621cb082_b2cf03fc","in_reply_to":"60579eb6_ef0d4fc0","updated":"2025-09-28 21:49:54.000000000","message":"I honestly wouldn\u0027t mind this example container build switching to a ubuntu or debian base image. Red Hat\u0027s image build pipeline restrictions means we\u0027ll need to need to maintain completely different container build files anyway.\n\nSwitching the base image might be too much of a change to include in this one though. Can we do it as a follow-up?","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"804fd3f46c5df1eb1fdea2c03fb8617b8a1bd983","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9ab8bb9d_df6e37b5","in_reply_to":"621cb082_b2cf03fc","updated":"2025-10-02 19:36:18.000000000","message":"If it\u0027s that distro-agnostic, it\u0027s probably a nonconcern anyway. You can do it at will 😊","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"3855cca6cda2a6c913253315db591364424e7cc7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9aa2c2c8_436eb6ba","in_reply_to":"93594670_832dc0da","updated":"2025-10-02 17:50:45.000000000","message":"In CI its super difficult, so I think this is an area where we just kind of need to accept the lower level details are manually tested only, at least for now.","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"449e141a8637f9cfad9808d794b2e125b1c3145a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d1563d23_1c55f739","in_reply_to":"9aa2c2c8_436eb6ba","updated":"2025-10-03 00:23:28.000000000","message":"Standalone manual testing can be quite quick for all your different machine types, by running a standalone container and using a vnc client to connect to localhost:5900. To start one with podman:\n\npodman run -e APP\u003dredfish-graphical -e \u0027APP_INFO\u003d{\"address\": \"https://bmc.example.com\", \"username\": \"root\", \"password\": \"password\", \"verify_ca\": false}\u0027 -e DEBUG\u003d0 -p 5900:5900 -ti --rm --name ironic-vnc-container quay.io/steveb/ironic-vnc-container:firefox","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"449e141a8637f9cfad9808d794b2e125b1c3145a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"920c5183_3f5e93ac","in_reply_to":"9ab8bb9d_df6e37b5","updated":"2025-10-03 00:23:28.000000000","message":"Done","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"}],"tools/vnc-container/Containerfile.dev":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"f0343e8ed29a96798a48a84e4a8c5dfa5a542d00","unresolved":true,"context_lines":[{"line_number":1,"context_line":"FROM localhost/ironic-vnc-container"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"ENV DISPLAY_WIDTH\u003d1280"},{"line_number":4,"context_line":"ENV DISPLAY_HEIGHT\u003d960"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"fb8b2d0e_afa63140","line":1,"updated":"2025-09-28 21:49:54.000000000","message":"whoops didn\u0027t mean to commit this file","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"449e141a8637f9cfad9808d794b2e125b1c3145a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM localhost/ironic-vnc-container"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"ENV DISPLAY_WIDTH\u003d1280"},{"line_number":4,"context_line":"ENV DISPLAY_HEIGHT\u003d960"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"322e789e_d30a7df5","line":1,"in_reply_to":"fb8b2d0e_afa63140","updated":"2025-10-03 00:23:28.000000000","message":"Done","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"}],"tools/vnc-container/bin/start-x11vnc.sh":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"4b6eb2c7d173d7c1d3c6e52050ef21421c5010b0","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Substitute placeholders with environment variables"},{"line_number":18,"context_line":"sed -i \"s#APP_NAME#${APP_NAME}#g\" \"${extension_path}/config.js\""},{"line_number":19,"context_line":"sed -i \"s#APP_INFO#${APP_INFO}#g\" \"${extension_path}/config.js\""},{"line_number":20,"context_line":"sed -i \"s#APP_NAME#${APP_NAME}#g\" \"${extension_path}/manifest.json\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"mkdir -p /etc/firefox/policies"}],"source_content_type":"text/x-sh","patch_set":4,"id":"5b546a65_a546c2ac","line":19,"updated":"2025-09-29 00:50:38.000000000","message":"This is too brittle I think. I\u0027ll replace it with something that rewrites all of config.js","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d3f8ade339391431a3b0427a0893a77e68016bf5","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Substitute placeholders with environment variables"},{"line_number":18,"context_line":"sed -i \"s#APP_NAME#${APP_NAME}#g\" \"${extension_path}/config.js\""},{"line_number":19,"context_line":"sed -i \"s#APP_INFO#${APP_INFO}#g\" \"${extension_path}/config.js\""},{"line_number":20,"context_line":"sed -i \"s#APP_NAME#${APP_NAME}#g\" \"${extension_path}/manifest.json\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"mkdir -p /etc/firefox/policies"}],"source_content_type":"text/x-sh","patch_set":4,"id":"66ec3b86_d4024ae6","line":19,"in_reply_to":"5b546a65_a546c2ac","updated":"2025-09-29 18:03:46.000000000","message":"I guess I\u0027m ont really sure about that, but if re-used by a different launcher, perhaps?","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"449e141a8637f9cfad9808d794b2e125b1c3145a","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Substitute placeholders with environment variables"},{"line_number":18,"context_line":"sed -i \"s#APP_NAME#${APP_NAME}#g\" \"${extension_path}/config.js\""},{"line_number":19,"context_line":"sed -i \"s#APP_INFO#${APP_INFO}#g\" \"${extension_path}/config.js\""},{"line_number":20,"context_line":"sed -i \"s#APP_NAME#${APP_NAME}#g\" \"${extension_path}/manifest.json\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"mkdir -p /etc/firefox/policies"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7f2a566b_6476fd17","line":19,"in_reply_to":"66ec3b86_d4024ae6","updated":"2025-10-03 00:23:28.000000000","message":"Done","commit_id":"f546cc9c3df7cb0d2ad7f1249477a804c0f9b94c"}],"tools/vnc-container/bin/stop-firefox.sh":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"65f01d8632a2e28804f9be9bee5b8e9000689c12","unresolved":true,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -ex"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if netstat -tna | grep \":5900 .*ESTABLISHED\"; then"},{"line_number":6,"context_line":"    # If there is an active VNC session, do not kill firefox."},{"line_number":7,"context_line":"    echo \"Active VNC connection detected, deferring firefox shutdown.\""},{"line_number":8,"context_line":"    exit 0"}],"source_content_type":"text/x-sh","patch_set":2,"id":"a759e5bc_5a7a4840","line":5,"range":{"start_line":5,"start_character":3,"end_line":5,"end_character":10},"updated":"2025-09-17 07:55:47.000000000","message":"nit: May be able to drop the grep here if we use the `ss` tool?\nSomething like:\n `ss --no-header state established \u0027( dport \u003d :5900 or sport \u003d :5900 )\u0027`\n\nNote, ss return code is `0` in either case, so would need to check for empty string.","commit_id":"09bf825619a0ba5481fd5a24c817d0d3534cb9f2"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"99c43eedea73e3a62bfa81a5019b888d288389b6","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -ex"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if netstat -tna | grep \":5900 .*ESTABLISHED\"; then"},{"line_number":6,"context_line":"    # If there is an active VNC session, do not kill firefox."},{"line_number":7,"context_line":"    echo \"Active VNC connection detected, deferring firefox shutdown.\""},{"line_number":8,"context_line":"    exit 0"}],"source_content_type":"text/x-sh","patch_set":2,"id":"14ae5fde_0d23441a","line":5,"range":{"start_line":5,"start_character":3,"end_line":5,"end_character":10},"in_reply_to":"a759e5bc_5a7a4840","updated":"2025-09-17 21:38:05.000000000","message":"Done","commit_id":"09bf825619a0ba5481fd5a24c817d0d3534cb9f2"}]}
