fix: widen remote action log panel and wrap long WinRM output (0.20.22)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
"""Единый источник версии SAC (API, health, логи, OpenAPI)."""
|
"""Единый источник версии SAC (API, health, логи, OpenAPI)."""
|
||||||
|
|
||||||
APP_NAME = "Security Alert Center"
|
APP_NAME = "Security Alert Center"
|
||||||
APP_VERSION = "0.20.21"
|
APP_VERSION = "0.20.22"
|
||||||
APP_VERSION_LABEL = f"{APP_NAME} v.{APP_VERSION}"
|
APP_VERSION_LABEL = f"{APP_NAME} v.{APP_VERSION}"
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ from app.version import APP_NAME, APP_VERSION, APP_VERSION_LABEL
|
|||||||
|
|
||||||
|
|
||||||
def test_version_constants():
|
def test_version_constants():
|
||||||
assert APP_VERSION == "0.20.21"
|
assert APP_VERSION == "0.20.22"
|
||||||
assert APP_NAME == "Security Alert Center"
|
assert APP_NAME == "Security Alert Center"
|
||||||
assert APP_VERSION_LABEL == "Security Alert Center v.0.20.21"
|
assert APP_VERSION_LABEL == "Security Alert Center v.0.20.22"
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
<span class="host-action-log-spinner" aria-hidden="true" />
|
<span class="host-action-log-spinner" aria-hidden="true" />
|
||||||
Выполняется на удалённом хосте… Можно перейти в другой раздел SAC.
|
Выполняется на удалённом хосте… Можно перейти в другой раздел SAC.
|
||||||
</p>
|
</p>
|
||||||
<p v-if="message && !loading" :class="messageClass">{{ message }}</p>
|
<p v-if="message && !loading" class="host-action-log-message" :class="messageClass">{{ message }}</p>
|
||||||
<p v-else-if="message && loading" class="muted host-action-log-sub">{{ message }}</p>
|
<p v-else-if="message && loading" class="muted host-action-log-sub host-action-log-message">{{ message }}</p>
|
||||||
<pre v-if="output" class="host-action-log-output">{{ output }}</pre>
|
<pre v-if="output" class="host-action-log-output">{{ output }}</pre>
|
||||||
<div class="host-action-log-actions">
|
<div class="host-action-log-actions">
|
||||||
<button v-if="loading" type="button" class="secondary" @click="emit('close')">
|
<button v-if="loading" type="button" class="secondary" @click="emit('close')">
|
||||||
@@ -60,7 +60,8 @@ const messageClass = computed(() => {
|
|||||||
right: 1rem;
|
right: 1rem;
|
||||||
bottom: 1rem;
|
bottom: 1rem;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
max-width: min(28rem, calc(100vw - 2rem));
|
width: min(56rem, calc(100vw - 2rem));
|
||||||
|
max-width: calc(100vw - 2rem);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,7 +71,7 @@ const messageClass = computed(() => {
|
|||||||
border: 1px solid var(--border, #3a4556);
|
border: 1px solid var(--border, #3a4556);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
|
||||||
max-height: min(70vh, 28rem);
|
max-height: min(75vh, 36rem);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: 0.85rem 1rem 1rem;
|
padding: 0.85rem 1rem 1rem;
|
||||||
}
|
}
|
||||||
@@ -121,6 +122,11 @@ const messageClass = computed(() => {
|
|||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.host-action-log-message {
|
||||||
|
overflow-wrap: anywhere;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
.host-action-log-spinner {
|
.host-action-log-spinner {
|
||||||
width: 1rem;
|
width: 1rem;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
@@ -140,13 +146,16 @@ const messageClass = computed(() => {
|
|||||||
|
|
||||||
.host-action-log-output {
|
.host-action-log-output {
|
||||||
margin-top: 0.65rem;
|
margin-top: 0.65rem;
|
||||||
max-height: 12rem;
|
max-height: min(45vh, 22rem);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: 0.65rem;
|
padding: 0.65rem;
|
||||||
background: #0d1117;
|
background: #0d1117;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
|
line-height: 1.45;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.host-action-log-actions {
|
.host-action-log-actions {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/** Fallback до загрузки /health; при релизе держите в sync с backend/app/version.py */
|
/** Fallback до загрузки /health; при релизе держите в sync с backend/app/version.py */
|
||||||
export const APP_NAME = "Security Alert Center";
|
export const APP_NAME = "Security Alert Center";
|
||||||
export const APP_VERSION = "0.20.21";
|
export const APP_VERSION = "0.20.22";
|
||||||
export const APP_VERSION_LABEL = `${APP_NAME} v.${APP_VERSION}`;
|
export const APP_VERSION_LABEL = `${APP_NAME} v.${APP_VERSION}`;
|
||||||
|
|||||||
Reference in New Issue
Block a user