diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php index 4460f903cf2..538f0625e71 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/LogController.php @@ -100,7 +100,8 @@ public function __call($name, $arguments) [$offset, $searchPhrase, $module, $scope, $severities], [ 'Content-Type: text/event-stream', - 'Cache-Control: no-cache' + 'Cache-Control: no-cache', + 'X-Accel-Buffering: no' /* disable nginx reverse proxy buffering for SSE streams to ensure real-time delivery */ ], 60 /* XXX */ ); diff --git a/src/opnsense/www/js/opnsense_widget_manager.js b/src/opnsense/www/js/opnsense_widget_manager.js index 9650c40c75e..6a5768f6f89 100644 --- a/src/opnsense/www/js/opnsense_widget_manager.js +++ b/src/opnsense/www/js/opnsense_widget_manager.js @@ -809,6 +809,15 @@ class WidgetManager { $option.append($(`
${value.title}
`)); $option.append($select); break; + case 'text': + let $textInput = $(``); + $textInput.val(config[key] ?? ''); + if (value.placeholder) { + $textInput.attr('placeholder', value.placeholder); + } + $option.append($(`
${value.title}
`)); + $option.append($textInput); + break; case 'textarea': let $textarea = $(`