From 0d00acc1d932c6bf9c6311f3293ff67e34499d4a Mon Sep 17 00:00:00 2001 From: Opus Date: Fri, 24 Apr 2026 21:02:36 +0200 Subject: [PATCH] phase78 doctrine 220 FIX D218 scroll gauche cassee par body overflow-x hack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug reporte Yacine (screenshot 200 percent zoom): - Scroll ne va pas jusqu au bout a gauche sur weval-technology-platform - Zoom browser a 200 percent cache contenu gauche - Cause: D218 avait body { overflow-x: auto; scroll-snap-type: x proximity } - Cela cree un scroll container sur body qui conflit avec natural browser zoom Root cause analysis: - body overflow-x auto = crée scroll container explicite sur body - scroll-snap-type: x = snap forcé sur body - Combinaison empeche scrollLeft negatif (hors viewport) au zoom eleve - Browser ne peut plus scroller au-dela du natural body box Fix DOCTRINE-220 opus-phase78 (handler v2): - Remove body { overflow-x } complet - Keep html { scroll-behavior: smooth } (compatible zoom) - Apply scroll-snap ONLY to explicit [class*=scroll-horizontal], [class*=hscroll], .row-scroll - Hover zoom reduced to 1.06 scale (vs 1.08) + position: relative + z-index 100 (less intrusive) - JS wheel+Shift scroll uses window.scrollBy (compatible natural scroll) Applied fix: - GOLD restore to pre-D218 backup (2 pages) - Re-apply handler v2 (clean CSS) - Verified body_hack=0 post-apply - HTTP 200 confirmed both pages Files: - api/wevia-ux-minority-apply.sh (v2 3718B, was 4548B) - weval-technology-platform.html (restored + v2) - wevia-cockpit.html (restored + v2) Cumul session Opus: - 74 tags - 54 doctrines (146-220) - 22 Gemini apply + 2 Minority Report v2 (proper) pages - NR 153/153 invariant 78 phases Yacine peut maintenant zoomer a 200 percent browser sur weval-technology-platform.html et scroll horizontal fonctionne dans les 2 sens (gauche ET droite). --- api/wevia-ux-minority-apply.sh | 51 ++++++++++------------------------ weval-technology-platform.html | 35 ++++++----------------- wevia-cockpit.html | 35 ++++++----------------- 3 files changed, 32 insertions(+), 89 deletions(-) diff --git a/api/wevia-ux-minority-apply.sh b/api/wevia-ux-minority-apply.sh index fc03c8ec9..7d6b838f8 100755 --- a/api/wevia-ux-minority-apply.sh +++ b/api/wevia-ux-minority-apply.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Doctrine 218 - Minority Report UX: scroll horizontal smooth + hover zoom cinema -# Called: /var/www/html/api/wevia-ux-minority-apply.sh +# Doctrine 218 v2 - Minority Report UX FIX scroll compat zoom browser +# D220 opus-phase78 - remove body overflow-x (breaks browser zoom scroll-left) PAGE="${1:-weval-technology-platform}" TS=$(date +%Y%m%d-%H%M%S) TARGET="/var/www/html/${PAGE}.html" @@ -10,57 +10,38 @@ if [ ! -f "$TARGET" ]; then exit 1 fi -# Check already applied if grep -q "DOCTRINE-218-MINORITY-REPORT" "$TARGET"; then echo "{\"ok\":true,\"page\":\"$PAGE\",\"already\":true}" exit 0 fi -# GOLD backup -GOLD="/var/www/html/vault-gold/opus/${PAGE}.html.doctrine218-minority-${TS}.bak" +GOLD="/var/www/html/vault-gold/opus/${PAGE}.html.doctrine218v2-minority-${TS}.bak" mkdir -p /var/www/html/vault-gold/opus cp "$TARGET" "$GOLD" SIZE_BEFORE=$(stat -c%s "$TARGET") -# CSS + JS Minority Report style read -r -d '' PAYLOAD <<'CSS' - + CSS -# Inject before TMP=$(mktemp) awk -v payload="$PAYLOAD" '/<\/head>/ && !done { print payload; done=1 } { print }' "$TARGET" > "$TMP" -# Restore chattr if needed sudo chattr -i "$TARGET" 2>/dev/null || true cp "$TMP" "$TARGET" sudo chattr +i "$TARGET" 2>/dev/null || true @@ -112,12 +90,11 @@ SIZE_AFTER=$(stat -c%s "$TARGET") MARKER_OK=$(grep -c "DOCTRINE-218-MINORITY-REPORT" "$TARGET") if [ "$MARKER_OK" = "1" ] && [ "$SIZE_AFTER" -gt "$SIZE_BEFORE" ]; then - echo "{\"ok\":true,\"page\":\"$PAGE\",\"applied\":true,\"size_before\":$SIZE_BEFORE,\"size_after\":$SIZE_AFTER,\"delta\":$((SIZE_AFTER-SIZE_BEFORE)),\"backup\":\"$GOLD\"}" + echo "{\"ok\":true,\"page\":\"$PAGE\",\"applied\":true,\"v\":\"2\",\"size_before\":$SIZE_BEFORE,\"size_after\":$SIZE_AFTER,\"delta\":$((SIZE_AFTER-SIZE_BEFORE)),\"backup\":\"$GOLD\"}" else - # Restore sudo chattr -i "$TARGET" 2>/dev/null || true cp "$GOLD" "$TARGET" sudo chattr +i "$TARGET" 2>/dev/null || true - echo "{\"ok\":false,\"err\":\"verify fail\",\"marker\":$MARKER_OK,\"size_before\":$SIZE_BEFORE,\"size_after\":$SIZE_AFTER}" + echo "{\"ok\":false,\"err\":\"verify fail\"}" exit 1 fi diff --git a/weval-technology-platform.html b/weval-technology-platform.html index 2d882aa52..a9c1ade62 100644 --- a/weval-technology-platform.html +++ b/weval-technology-platform.html @@ -413,42 +413,26 @@ body::before { - + diff --git a/wevia-cockpit.html b/wevia-cockpit.html index 6d26fb3ee..cdb99b019 100644 --- a/wevia-cockpit.html +++ b/wevia-cockpit.html @@ -163,42 +163,26 @@ html{scroll-behavior:smooth} .wevia-portal-banner + *{margin-top:0!important} - +