FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: TeleDet am 12 Mai 2018, 15:39:31

Titel: interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 12 Mai 2018, 15:39:31
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: frank am 12 Mai 2018, 15:57:05
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 12 Mai 2018, 18:43:21
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: rudolfkoenig am 13 Mai 2018, 15:14:29
Ich kann mit Chrome oder FireFox (60.0) kein Problem erkennen.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 13 Mai 2018, 16:02:06
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: ComputerZOO am 15 Mai 2018, 13:02:34
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Norge am 20 Mai 2018, 11:57:44
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 20 Mai 2018, 16:29:59
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Ellert am 23 Mai 2018, 16:46:20
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: ThoTo am 26 Mai 2018, 10:16:20
Hänge mich mal dazu, ich konnte dieses Verhalten mit aktueller FF Version ebenso beobachten.

LG Thomas
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 26 Mai 2018, 16:42:59
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/ (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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Ellert am 26 Mai 2018, 17:20:00
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 26 Mai 2018, 19:41:28
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

Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Ellert am 27 Mai 2018, 10:26:37
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 27 Mai 2018, 14:39:03
 ::) Okay ... das hatte ich jetzt noch nicht getestet bzw war mir das nicht aufgefallen da ich nur meine cfg Dateien bearbeitet hatte.

Gruß TeleDet
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: ThoTo am 09 Juni 2018, 20:16:17
Beobachtet das Verhalten sonst noch jemand bzw. neue Erkenntnisse?
Im Codemirror Forum habe ich keine entsprechenden Beiträge gefunden.

LG Thomas
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Invers am 09 Juni 2018, 20:49:40
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: amenomade am 10 Juni 2018, 00:54:17
Hab das selbe Problem seit der 60.0.2 (64-Bit)
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Newcomer am 10 Juni 2018, 12:47:31
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 10 Juni 2018, 13:38:23
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: betateilchen am 10 Juni 2018, 14:51:27
Das Problem kann ich nicht nachvollziehen - siehe screenshot im Anhang
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 10 Juni 2018, 15:45:56
@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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Navigator 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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: ThoTo am 10 Juni 2018, 16:31:40
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 10 Juni 2018, 16:50:55
 ::) ... 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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Invers am 10 Juni 2018, 16:56:30
Der erste Aufruf einer Datei funktioniert ja auch fast immer, wenn die Datei / das Device  nicht zu gross ist. Danach ist dann halt schluss.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 10 Juni 2018, 17:09:17
Eventuell doch ein Browsercache-Problem wie Ellert schon mal anmerkte???

Gruß TeleDet
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Invers am 10 Juni 2018, 21:29:19
Scheint so zu sein. Nach Entleerung geht es. Mal sehen, wie lange.
Danke
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: amenomade am 20 Juni 2018, 21:07:35
@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)
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: amenomade am 20 Juni 2018, 21:48:52
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>
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: NoPlan12 am 20 Juni 2018, 22:43:49
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ß
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: rudolfkoenig am 21 Juni 2018, 07:04:14
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?
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Ellert am 21 Juni 2018, 18:20:29
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: ThoTo am 21 Juni 2018, 19:16:14
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: amenomade am 23 Juni 2018, 23:22:21
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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Pfriemler am 28 Juni 2018, 16:00:05
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?
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: rudolfkoenig am 29 Juni 2018, 21:07:16
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" });
    }
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: rudolfkoenig am 01 Juli 2018, 11:18:06
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: amenomade am 01 Juli 2018, 20:07:48
@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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Ellert am 03 Juli 2018, 05:26:12
Codemirror funktioniert wieder, das Fehlverhalten ist beseitigt.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: Pfriemler am 03 Juli 2018, 12:34:38
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.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 03 Juli 2018, 19:23:25
@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
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: rudolfkoenig am 03 Juli 2018, 21:35:18
Es muss wohlattr WEB codemirrorParam  { "lineNumbers":false }heissen, also mit "". Ohne sieht man kurz 'ne schwer verstaendliche Fehlermeldung.
Titel: Antw:interner Editor mit Syntaxhervorhebung (fhem_codemirror.js) funktioniert nicht
Beitrag von: TeleDet am 04 Juli 2018, 18:32:00
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