interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht

Begonnen von TeleDet, 12 Mai 2018, 15:39:31

Vorheriges Thema - Nächstes Thema

TeleDet

Hallo an alle FHEM-User,

ich habe seit kurzem ein Problem beim Bearbeiten meiner cfg-Dateien mit dem internen Editor (,,Edit files" im FHEM-Web). Syntax-Highlighting und Config-Änderung sind mittels

attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB editConfig 1


eingestellt.

Der Fehler tritt nicht immer auf und betrifft scheinbar nur den aktuellen Browser Mozilla Firefox V.60.0 (64bit)
Siehe auch meine Screenshots.


Die zu bearbeitende cfg-Datei (z.Bsp. fhem.cfg) wird entweder richtig im Editor-Fenster angezeigt oder es erscheint ein fast leeres Editor-Fenster wo auf der rechten Seite die Zahlen 1-3 untereinander angezeigt werden. Durch mehrmaliges öffnen einer cfg-Datei wird sie meist ,,richtig" angezeigt. Dies ist aber eher sporadisch und nicht nachvollziehbar.
Ein Test mit Microsoft Edge hat keine Probleme gezeigt! D.h. vermute ich ein Browser-Problem!
Hat jemand von Euch ähnliche Erscheinungen oder Erfahrungen? Wenn ja mit welcher Browserversion?

Meine codemirror/fhem_codemirror.js und fhemweb.js sind aktuell.
Browser-Cache, History etc. wurden gelöscht und FHEM-Web mit STRG + Shift +R ,,hart" neu im Browser geladen ohne Änderung des Verhaltens.

Gruß TeleDet

frank

Zitates erscheint ein fast leeres Editor-Fenster wo auf der rechten Seite die Zahlen 1-3 untereinander angezeigt
ich erkenne dort die zeilennummern 1-36.
der bildausschnitt (x-pos) ist demnach falsch/bleibt unbeachtet.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

TeleDet

Frank,

da könntest du Recht haben  ::) ... die Frage ist warum macht Firefox dies mal so und mal wieder richtig?
Wie gesagt, wenn es falsch dargestellt wird und man öffnet die entsprechende Datei nochmals (ggf. mehrmals
nacheinander) wird sie irgendwann auch mal richtig dargestellt.

Daraus ergibt sich dann die Frage: Ist das ein Bug nur in Mozilla und wenn ja lässt sich der abstellen oder ggf. in der
fhem_codemirror.js umgehen?  ::)  ::)

Gruß TeleDet

Nachtrag: Klickt man mit der rechten Maustaste in das Editor-Fenster und und lässt die Seite neu laden siehe Bild (analog
funktioniert auch STRG+R) wird der Quelltext im Editor auch sofort richtig dargestellt.

rudolfkoenig


TeleDet

Hmmm  ::) ... dann liegt es wohl an meiner Installation !? Komisch nur, dass sich Firefox vor kurzem geupdatet hat
und ich solche Verhaltensweisen vorher nicht hatte.  ::)

Danke trotzdem für deinen Test und die Info Rudolf

Gruß Detlef

ComputerZOO

Moinsen,
ich habe manchmal das selbe Problem bei Safari auf'm iPad.
Seite neu laden, wieder auf DEF klicken und schon wird es richtig dargestellt.

Norge

Hallo TeleDet,

habe seit dem Update von Firefox auf die Version 60.0 ebenfalls das von Dir beschriebene Problem. Auch mit deaktivierten Addons trat das Problem noch auf.
Insofern hatte ich dann ein Downgrade auf v59.0.2 durchgeführt und es lief wieder problemlos.

Der beschriebene Workaround mit mehrfachen Reload funktioniert nur bedingt.

Gruß
Norge
FHEM  5.8 DEV auf Raspberry Pi 3; CULv3-868; HM-LC-BL1-FM,HM-LC-SW2-FM,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-RHS,HM-SEC-SCo

TeleDet

Danke Norge für Deine Info !

Ich habe in den letzten Tagen immer mal wieder versucht den Fehler bei mir zu finden, ohne wirklichen Erfolg.
Es scheint das Mozila am Firefox 60 irgendetwas geändert hat (vermutlich in Bezug auf JavaScript) was zu diesem
verhalten führt. Auch bei mir führten die Test's mit deaktivieren/aktivieren (in diversen Kombinationen) der Addons
zu keinem Erfolg.  ::) :-\

Ich warte jetzt mal auf das nächste Update von Firefox und dann werden wir sehen.

Gruß Detlef

Ellert

Seit FF Version 60.0.1 (32-Bit) beobachte ich das Verhalten auch.

Codemirror wird beim Aufruf von 99_myUtils.pm einmal korrekt angezeigt. Beim nächsten Aufruf bleibt das Fenster schwarz ohne Inhalt.

Nach löschen des Browsercache funktioniert Codemirror einmal wieder nach einem Seitenreload.

ThoTo

Hänge mich mal dazu, ich konnte dieses Verhalten mit aktueller FF Version ebenso beobachten.

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

TeleDet

Schön, das es nicht nur mir so geht  :) ... schlecht, das es das Problem überhaupt gibt  ::)

Der interner Editor mit Syntaxhervorhebung ist wohl eine Implementierung von https://codemirror.net/ !?
Man muss mal schauen, ob da ähnliche Probleme bekannt sind und es ggf. Abhilfe gibt.
Da ich definitiv glaube, das der Fehler nicht im FHEM zu suchen ist!

Ansonsten, wie oben gesagt, eventuell erst mal das nächste Update von FF abwarten!  ::)

Gruß TeleDet

Ellert

Als Workaround, könnte man das AddOn Clear Cache installieren. Cache löschen und Reload per Click.

Oder FF ESR installieren, dann gibt es auch Sicherheitsupdates für die ältere Version.

TeleDet

Also bei mir funktioniert der Workaround den ich beschrieben hatte:

ZitatNachtrag: Klickt man mit der rechten Maustaste in das Editor-Fenster und und lässt die Seite neu laden siehe Bild (analog
funktioniert auch STRG+R) wird der Quelltext im Editor auch sofort richtig dargestellt.

recht gut und zuverlässig.

Den Cache löschen wäre sicher auch eine Möglichkeit nur denke ich, es liegt
nicht am Cache sondern am Ladeverhalten der Seite (mit JavaScript). Der Reload,
ob mit gelöschten Cache oder ohne, bewirkt das korrekte ausführen/interpretieren
des eigentlichen JavaScript's welches die Seite (Editor-Fenster) generiert. 

Gruß TeleDet


Ellert

Bei ein Paar Zeilen habe ich keine Probleme mit dem Codemirror und bei 2000 Zeilen in 99_myUtils.pm klappt es mit dem Reload nicht, da muss bei mir der Cache gelöscht werden.

TeleDet

 ::) Okay ... das hatte ich jetzt noch nicht getestet bzw war mir das nicht aufgefallen da ich nur meine cfg Dateien bearbeitet hatte.

Gruß TeleDet

ThoTo

Beobachtet das Verhalten sonst noch jemand bzw. neue Erkenntnisse?
Im Codemirror Forum habe ich keine entsprechenden Beiträge gefunden.

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

Invers

Ich habe mit 60.0.2 (64-Bit) das selbe Problem, aktualisieren hilft bei mir nicht. Ich nutze in solchen Fällen einen anderen Browser.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Newcomer

Habe das gleich Problem mit Firefox 64-bit 60.0.2 und Firefox 32-bit 60.0.2.
Mit dem Edge 42.17134.1.0 geht der Editor einwandfrei.


Gruß Newcomer

TeleDet

Nach FF Update von 60.0 auf 60.0.2 (64 Bit) bei mir leider doch noch keine Veränderung des Verhaltens.
Reload hilft bei mir nach wie vor.

Gruß

TeleDet

betateilchen

Das Problem kann ich nicht nachvollziehen - siehe screenshot im Anhang
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TeleDet

@betateilchen

Hast Du ein Glück!  :) ;)

Das Problem tritt aber nicht immer auf. Ab und zu funktioniert es auf Anhieb dann wieder mal nicht.
Öffnet man das Editorfenster 10x hinter einander (egal ob mit der selben oder anderen cfg's) zeigt sich
bei mir der Fehler im Schnitt 4-6 mal.  ::)

Gruß TeleDet

Navigator

...bin auch betroffen. Desktop Firefox oder Ipad Safari aktuellste Version. Scheint wohl aber nur ein Darstellungsproblem zu sein. Wenn man in das Feld was eintippert wirds auch übernommen.  :o

ThoTo

Zitat von: Dittel am 10 Juni 2018, 16:12:42
...bin auch betroffen. Desktop Firefox oder Ipad Safari aktuellste Version. Scheint wohl aber nur ein Darstellungsproblem zu sein. Wenn man in das Feld was eintippert wirds auch übernommen.  :o

Interessant, denn Safari nutzt als Engine WebKit und Firefox nutzt Gecko.
Das würde für mich dann bedeuten dass der Fehler evt. mit FHEM zu tun hat?!


LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

TeleDet

 ::) ... warum tritt es dann aber nicht massiver auf? ... weil eventuell nur wenige User den Editor mit Syntaxhervorhebung  nutzen?  ::)
Und warum tritt der Fehler bei FF erst seit Version 60.0 auf und vorher nie? Die Funktion in fhem wurde sicher sehr lange nicht angetastet!?
Warum auch, wenn es funktioniert hat.

Gruß TeleDet

Invers

Der erste Aufruf einer Datei funktioniert ja auch fast immer, wenn die Datei / das Device  nicht zu gross ist. Danach ist dann halt schluss.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

TeleDet

Eventuell doch ein Browsercache-Problem wie Ellert schon mal anmerkte???

Gruß TeleDet

Invers

Scheint so zu sein. Nach Entleerung geht es. Mal sehen, wie lange.
Danke
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

amenomade

@rudolfkoenig @rapster: wenn es hilft: ich habe folgende Untershiede.

Wenn es geht:
<div class="CodeMirror cm-s-blackboard">
<div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 33px;">
<textarea style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; outline: medium none currentcolor;" autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" wrap="off">
</textarea>
</div>
<div class="CodeMirror-vscrollbar" cm-not-content="true">
<div style="min-width: 1px; height: 0px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true">
<div style="height: 100%; min-height: 1px; width: 0px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1" draggable="true">
<div class="CodeMirror-sizer" style="margin-left: 29px; margin-bottom: -17px; border-right-width: 13px; min-height: 27px; min-width: 131.8px; padding-right: 0px; padding-bottom: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines">
<div style="position: relative; outline: medium none currentcolor;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors" style="">
<div class="CodeMirror-cursor" style="left: 128.8px; top: 0px; height: 19px;">&nbsp;
</div>
</div>
<div class="CodeMirror-code">
<div style="position: relative;">
<div class="CodeMirror-gutter-wrapper" style="left: -29px;">
<div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">1
</div>
</div>
<pre class=" CodeMirror-line "><span><span class="cm-meta">SD_WS_33_TH_1</span></span>
</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="position: absolute; height: 13px; width: 1px; border-bottom: 0px solid transparent; top: 27px;">
</div>
<div class="CodeMirror-gutters" style="height: 40px;">
<div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 29px;">
</div>
</div>
</div></div>

Und wenn es NICHT geht
<div class="CodeMirror cm-s-blackboard">
<div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 1px; left: 972px;">
<textarea style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; outline: medium none currentcolor;" autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" wrap="off">
</textarea>
</div>
<div class="CodeMirror-vscrollbar" cm-not-content="true" style="display: block; bottom: 0px; width: 18px; pointer-events: none;">
<div style="min-width: 1px; height: 143px;">
</div>
</div>
<div class="CodeMirror-hscrollbar" cm-not-content="true" style="display: block; right: 0px; left: 982px; height: 18px; pointer-events: none;">
<div style="height: 100%; min-height: 1px; width: 110.8px;">
</div>
</div>
<div class="CodeMirror-scrollbar-filler" cm-not-content="true">
</div>
<div class="CodeMirror-gutter-filler" cm-not-content="true">
</div>
<div class="CodeMirror-scroll" tabindex="-1" draggable="true">
<div class="CodeMirror-sizer" style="margin-left: 982px; margin-bottom: 0px; border-right-width: 30px; min-height: 112px; min-width: 79.8px; padding-right: 0px; padding-bottom: 0px;">
<div style="position: relative; top: 0px;">
<div class="CodeMirror-lines">
<div style="position: relative; outline: medium none currentcolor;">
<div class="CodeMirror-measure">
</div>
<div class="CodeMirror-measure">
</div>
<div style="position: relative; z-index: 1;">
</div>
<div class="CodeMirror-cursors" style="visibility: hidden;">
<div class="CodeMirror-cursor" style="left: 0px; top: 0px; height: 76px;">&nbsp;
</div>
</div>
<div class="CodeMirror-code CodeMirror-crosshair">
<div style="position: relative;">
<div class="CodeMirror-gutter-wrapper" style="left: -982px;">
<div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 1px; width: 983px;">1
</div>
</div>
<pre class=" CodeMirror-line "><span><span class="cm-number">49.97347</span> <span class="cm-number">8.80801</span> <span class="cm-number">1</span> <span class="cm-number">12835072</span></span>
</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 112px;">
</div>
<div class="CodeMirror-gutters" style="height: 142px;">
<div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 983px;">
</div>
</div>
</div></div>


Man sieht ganz gut die Probleme:
Zitat<div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 1px; left: 972px;">
   <div class="CodeMirror-hscrollbar" cm-not-content="true" style="display: block; right: 0px; left: 982px; height: 18px; pointer-events: none;">
      <div class="CodeMirror-sizer" style="margin-left: 982px; margin-bottom: 0px; border-right-width: 30px; min-height: 112px; min-width: 79.8px;
                        <div class="CodeMirror-gutter-wrapper" style="left: -982px;">
                           <div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 1px; width: 983px;">1
      <div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 983px;">

Alles ist nach rechts verschoben.
(NB: beide Beispiele kommen nicht aus der gleiche "DEF", ich versuche noch es zu kriegen, damit es noch besser vergleichbar wird)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Hier aus der gleiche DEF

Geht:
<div class="CodeMirror cm-s-blackboard"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 34px;"><textarea style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; outline: medium none currentcolor;" autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" wrap="off"></textarea></div><div class="CodeMirror-vscrollbar" cm-not-content="true"><div style="min-width: 1px; height: 0px;"></div></div><div class="CodeMirror-hscrollbar" cm-not-content="true"><div style="height: 100%; min-height: 1px; width: 0px;"></div></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1" draggable="true"><div class="CodeMirror-sizer" style="margin-left: 30px; margin-bottom: -17px; border-right-width: 13px; min-height: 27px; min-width: 266.2px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines"><div style="position: relative; outline: medium none currentcolor;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-cursors" style="visibility: hidden;"><div class="CodeMirror-cursor" style="left: 263.2px; top: 0px; height: 19px;">&nbsp;</div></div><div class="CodeMirror-code"><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -30px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">1</div></div><pre class=" CodeMirror-line "><span><span class="cm-number">49.97347</span> <span class="cm-number">8.80801</span> <span class="cm-number">1</span> <span class="cm-number">12835072</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 13px; width: 1px; border-bottom: 0px solid transparent; top: 27px;"></div><div class="CodeMirror-gutters" style="height: 40px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 29px;"></div></div></div></div>

Geht nicht (nicht nur die Margen sind über 900, aber der Code schein viel länger zu sein:
<div class="CodeMirror cm-s-blackboard"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 1px; left: 972px;"><textarea style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; outline: medium none currentcolor; display: none;" autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" wrap="off"></textarea><div class="CodeMirror cm-s-blackboard"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 33px;"><textarea style="position: absolute; bottom: -1em; padding: 0px; width: 1px; height: 1em; outline: medium none currentcolor;" autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" wrap="off"></textarea></div><div class="CodeMirror-vscrollbar" cm-not-content="true"><div style="min-width: 1px; height: 0px;"></div></div><div class="CodeMirror-hscrollbar" cm-not-content="true"><div style="height: 100%; min-height: 1px; width: 0px;"></div></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1" draggable="true"><div class="CodeMirror-sizer" style="margin-left: 29px; min-width: 7px; margin-bottom: -17px; border-right-width: 13px; min-height: 28px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines"><div style="position: relative; outline: medium none currentcolor;"><div class="CodeMirror-measure"><span><span>​</span>x</span></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-cursors" style="visibility: hidden;"><div class="CodeMirror-cursor" style="left: 4px; top: 0px; height: 20px;">&nbsp;</div></div><div class="CodeMirror-code"><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -29px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 21px;">1</div></div><pre class=" CodeMirror-line "><span><span cm-text="">​</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 13px; width: 1px; border-bottom: 0px solid transparent; top: 28px;"></div><div class="CodeMirror-gutters" style="height: 41px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 29px;"></div></div></div></div></div><div class="CodeMirror-vscrollbar" cm-not-content="true" style="display: block; bottom: 0px; width: 18px; pointer-events: none;"><div style="min-width: 1px; height: 143px;"></div></div><div class="CodeMirror-hscrollbar" cm-not-content="true" style="display: block; right: 0px; left: 982px; height: 18px; pointer-events: none;"><div style="height: 100%; min-height: 1px; width: 110.8px;"></div></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1" draggable="true"><div class="CodeMirror-sizer" style="margin-left: 982px; margin-bottom: 0px; border-right-width: 30px; min-height: 112px; min-width: 79.8px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines"><div style="position: relative; outline: medium none currentcolor;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-cursors" style="visibility: hidden;"><div class="CodeMirror-cursor" style="left: 0px; top: 0px; height: 76px;">&nbsp;</div></div><div class="CodeMirror-code"><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -982px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 1px; width: 983px;">1</div></div><pre class=" CodeMirror-line "><span><span class="cm-number">49.97347</span> <span class="cm-number">8.80801</span> <span class="cm-number">1</span> <span class="cm-number">12835072</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 112px;"></div><div class="CodeMirror-gutters" style="height: 142px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 983px;"></div></div></div></div>
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

NoPlan12

Hallo,
ich kann nix zur Lösung beitragen, aber bei mir ist das auch schon eine ganze Zeit mit Modzilla(60.0.2 64bit). Das mit dem rechte Maustaste und Seite neu laden hat bei mir auch nicht funktioniert.
Bei Chrom (vers. 67.0.3396.87)  scheint es ohne Probleme zu gehen.
Gruß

rudolfkoenig

Zitat@rudolfkoenig @rapster: wenn es hilft: ich habe folgende Untershiede.
Sieht fuer mich eindeutig nach einem CodeMirror Problem aus, und mir ist gerade nicht nach CodeMirror debuggen.
Hat jemand probiert, ob es mit einer aktuellen CodeMirror Version das Problem behoben ist?

Ellert

Zitat von: rudolfkoenig am 21 Juni 2018, 07:04:14
Sieht fuer mich eindeutig nach einem CodeMirror Problem aus, und mir ist gerade nicht nach CodeMirror debuggen.
Hat jemand probiert, ob es mit einer aktuellen CodeMirror Version das Problem behoben ist?
Der Austausch von codemirror.js und codemirror.css gegen Version 5.39.0 bewirkt keine Besserung.

ThoTo

Zitat von: Ellert am 21 Juni 2018, 18:20:29
Der Austausch von codemirror.js und codemirror.css gegen Version 5.39.0 bewirkt keine Besserung.

Kann ich bestätigen, soeben getestet mit FF 60.0.2 und der aktuellen Codemirror Version.
Leider keine Besserung.

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

amenomade

Hab ein Workaround gefunden: wenn sowas passiert,

- im Edit Fenster klicken
- Strg-A alles markieren
- Strg-X alles ausscheiden => Fokus wird wieder initialisiert
- Strg-V wieder alles einfügen => wird wieder ordentlich gezeigt
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Pfriemler

Querlesen bildet. Bin gerade erst auf codemirror für den internen Editor gestolpert - genial.
Bei mir treten die beschriebenen Fehler sporadisch sowohl im Firefox als auch im Chrome auf. Reload hilft bei mir einfach und immer.

Was mich mehr wundert: Das Editorfenster ist nun in der Größe nicht mehr änderbar, und die automatische Größenerkennung (auf die Browserfenstergröße) funktionert begrenzt in beiden Browsern bei der fhem.cfg auf 19 Zeilen angezeigte Zeilen, wenn in WEB das Attribut editConfig fehlt oder auf 0 gesetzt ist (wie das brave FHEM-Nutzer so tun  ;)). Mit editConfig=1 ist es auch bildschirmfüllend, und ohne codemirror lässt es sich natürlich in allen Fällen in der Größe ändern.

Bug or feature?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

rudolfkoenig

Voraussetzungen:
- attr WEB JavaScripts  codemirror/fhem_codemirror.js
- FireFox 61 (58+?)
- Editieren von fhem.cfg in "Edit Files"

Was ich festgestellt habe:
- Unter OSX sehe ich das Problem nicht
- Unter Linux und Windows ist das Problem reproduzierbar, ein Reload hilft nicht
- Wenn man die Entwicklerconsole oeffnet (Crtl-Shift-I), und ein Reload macht, dann ist die Anzeige wieder ok, reproduzierbar.
- Im Problemfall ist das margin-left CSS Attribut vom div.CodeMirror-sizer sinnlos gross und verschiebt damit alles links aus dem Fenster)
- Mit folgendem Code, eingefuegt ganz unten im fhem_codemirror.js ist die Anzeige zwar grob repariert, aber Editieren funktioniert _nicht_:    ////////////////////////////////////////////////////
    // Firefox > 58 bug, Forum #87740, crude workaround
    var sl = $("div.CodeMirror-sizer").css("margin-left");
    sl = sl.replace(/[^0-9]/g,'');
    if(sl> 100) {
      $("div.CodeMirror-sizer").css({ "margin-left":"41px", "z-index":"9" });
      $("div.CodeMirror-gutter-wrapper").css({ left:"-40px" });
      $("div.CodeMirror-gutter-elt").css({ left:"0px", width:"31px" });
    }

rudolfkoenig

Nach Abstellen der Zeilennummerierung (attr WEB codemirrorParam { lineNumbers:false } ) sehe ich das Problem nicht.

Auch das leicht verzoegerte Aktivieren von CodeMirror scheint das Problem zu beheben.
Da rapster scheinbar nicht mehr aktiv ist, habe ich diese Aenderung eingecheckt.
Ich wuerde mich ueber Feedback freuen.

amenomade

@rudolfkoenig: ich hab die neue Version von fhem_codemirror.js auf meiner Windows Testinstanz runtergeladen, und hab damit das Problem nicht mehr. Sobald ich den Test auf mein Linux machen kann, werde ich berichten.

Danke für den Fix
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Ellert

Codemirror funktioniert wieder, das Fehlverhalten ist beseitigt.

Pfriemler

Verschiebungen stelle ich auch keine mehr fest, aber an meinen "Problemen" aus #35 hat sich nichts geändert (nur wenig Zeilen in fhem.cfg bei editConfig=0).
Aber ich kann damit leben. Dann isses eben so.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

TeleDet

@rudolfkoenig

mit lineNumbers:false war das Problem bei mir beseitigt.  :)  Danke für die Lösung Rudolf!

Nach Update von heute inkl. Update der fhem_codemirror.js ist das Eingangs beschriebene Problem
wieder vorhanden. Und schlimmer, die Zeilennummerierung lässt sich nun nicht mehr mit

attr WEB codemirrorParam { "lineNumbers":false }

abschalten! (siehe Screenshot) ... Daher ist der Workaround von Rudolf schlicht nicht mehr möglich !?

Gruß TeleDet

rudolfkoenig

Es muss wohlattr WEB codemirrorParam  { "lineNumbers":false }heissen, also mit "". Ohne sieht man kurz 'ne schwer verstaendliche Fehlermeldung.

TeleDet

Du hast natürlich Recht Rudolf  :)
In meinem Screenshot ist aber zu sehen das es in meinem Code richtig mit "" steht.

Trotzdem wichtig der Hinweis, nicht das jemand das falsch hier aus meinem Post kopiert und verwendet!
Daher hab ich es auch gleich korrigiert.  ;)

Gruß Detlef