From 7a9fe4ae7786ea78876780cd1bde518c93eec9be Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Fri, 21 Aug 2026 12:34:09 +0100 Subject: [PATCH] fix(android): nothing slides sideways any more The previous attempt clamped the scrolling panes, and the panel still slid. It was not the panes: overflow:hidden forbids the GESTURE, not the engine, which keeps the right to move a box so the newly focused field comes into view - and the rail's off-screen views, parked at translateX(100%), leave it room to the right. Confirmed by measurement: the CSS was in the shipped library and the behaviour was unchanged. Caught in the capture phase now, whichever box moves and whatever moves it. No view here has content to the right, except the folder strip. --- android-client/web/app.html | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/android-client/web/app.html b/android-client/web/app.html index a0b09e8..be754c1 100644 --- a/android-client/web/app.html +++ b/android-client/web/app.html @@ -602,6 +602,22 @@ function openEditor(k) { send('touch'); } +// RIEN NE GLISSE DE COTE, sauf la bande de dossiers. +// +// overflow:hidden n'interdit que le GESTE. Le moteur, lui, garde le droit de +// deplacer une boite pour amener a l'ecran le champ qui vient de prendre le +// focus, et les ecrans hors-champ du rail - poses a translateX(100%) - lui en +// laissent la place a droite. La touche de validation du clavier suffisait +// alors a pousser tout le panneau de cote, sans aucun moyen de le ramener +// puisque le geste, lui, reste interdit. +// +// On l'attrape en phase de capture, donc quelle que soit la boite qui bouge et +// quelle qu'en soit la cause : ici, aucune vue n'a de contenu a droite. +addEventListener('scroll', function (ev) { + var box = ev.target === document ? document.scrollingElement : ev.target; + if (box && box.scrollLeft && box.id !== 'folders') box.scrollLeft = 0; +}, true); + function goList() { document.body.classList.remove('on-detail'); document.body.classList.add('on-list');