fix(maintenance): auto-expiry + adaptive markdown height + tests

- Auto-expiry: expired events auto-end on GET /events via task manager
- Height: _estimate_markdown_height adapted to unit=8px scale with padding detection
- CRITICAL-1: removed dead import remove_chart_from_position (QA finding)
- CRITICAL-2: added chart alive check in ensure_banner_chart (QA finding)
- CRITICAL-3: fixed test assertions update_markdown_chart → update_banner_on_dashboard
- @POST contract: fixed return range [2,12] → [19,200]
- Tests: 8 new tests (auto-expiry + layout height)
This commit is contained in:
2026-05-25 08:36:33 +03:00
parent 2bf686674e
commit 31680a1bc9
100 changed files with 19635 additions and 7923 deletions

View File

@@ -225,9 +225,9 @@ bundle_release() {
echo "[bundle] Exporting .tar.xz archives..."
echo "[bundle] Compressing backend image..."
docker save "${backend_tag}" | xz -T0 -9 > "${DIST_ROOT}/backend.${tag}.tar.xz"
docker save "${backend_tag}" | xz -T0 -6 > "${DIST_ROOT}/backend.${tag}.tar.xz"
echo "[bundle] Compressing frontend image..."
docker save "${frontend_tag}" | xz -T0 -9 > "${DIST_ROOT}/frontend.${tag}.tar.xz"
docker save "${frontend_tag}" | xz -T0 -6 > "${DIST_ROOT}/frontend.${tag}.tar.xz"
echo "[bundle] Calculating checksums..."
(
@@ -269,10 +269,7 @@ services:
ports:
- "\${BACKEND_HOST_PORT:-8001}:8000"
volumes:
- ./config.json:/app/config.json:ro
- ./backups:/app/backups
- ./backend/git_repos:/app/backend/git_repos
- \${STORAGE_ROOT:-./storage}:/app/storage
- ./storage:/app/storage
- \${CERTS_PATH:-./certs}:/opt/certs:ro
frontend:
@@ -369,7 +366,7 @@ bundle_light() {
docker build -f docker/all-in-one.Dockerfile -t "${image_tag}" .
echo "[bundle:light] Exporting .tar.xz..."
docker save "${image_tag}" | xz -T0 -9 > "${DIST_ROOT}/ss-tools.${tag}.tar.xz"
docker save "${image_tag}" | xz -T0 -6 > "${DIST_ROOT}/ss-tools.${tag}.tar.xz"
echo "[bundle:light] Calculating checksums..."
(
@@ -446,10 +443,7 @@ services:
ports:
- "${APP_HOST_PORT:-8000}:8000"
volumes:
- ./config.json:/app/config.json:ro
- ./backups:/app/backups
- ./backend/git_repos:/app/backend/git_repos
- ${STORAGE_ROOT:-./storage}:/app/storage
- ./storage:/app/storage
volumes:
postgres_data: