Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weiterhin Umlaut-Probleme in der WebUI #1821

Closed
Baxxy13 opened this issue May 2, 2022 · 5 comments
Closed

Weiterhin Umlaut-Probleme in der WebUI #1821

Baxxy13 opened this issue May 2, 2022 · 5 comments
Labels
🐛 bug-report Something isn't working 🏷️ WebUI This refs the WebUI component 👍 important This is an important issue/ticket with high priority

Comments

@Baxxy13
Copy link
Contributor

Baxxy13 commented May 2, 2022

Describe the issue you are experiencing

Bei testen des heutigen Nightly's 3.63.9.20220502 bin ich wieder auf die Umlaut-Problematik gestoßen.

Describe the behavior you expected

Korrekte Umlaut-Darstellung in der WebUI

Steps to reproduce the issue

  1. ein Gerät / Gerätekanal über "Einstellungen > Geräte" mit Umlauten (um)benennen
  2. Ansicht in "Einstellungen > Geräte" ist dann korrekt (Umlaute werden korrekt dargestellt)
  3. das Gerät / Gerätekanal in "Status und Bedienung > Geräte" ansehen
  4. Ansicht in "Status und Bedienung > Geräte" zeigt dann die Umlaut-Problematik

What is the version this bug report is based on?

3.63.9.20220502 Nightly

Which base platform are you running?

ova (Open Virtual Infrastructure)

Which HomeMatic/homematicIP radio module are you using?

HmIP-RFUSB

Anything in the logs that might be useful for us?

-

Additional information

"Einstellungen > Geräte"
RM_Umlaute_Einst_Geräte

"Status und Bedienung > Geräte"
RM_Umlaute_SuB_Geräte

Frisch angelegte Räume und Gewerke (mit Umlauten) werden korrekt angezeigt.

@Baxxy13 Baxxy13 added the 🐛 bug-report Something isn't working label May 2, 2022
@jens-maus jens-maus added the 🏷️ WebUI This refs the WebUI component label May 3, 2022
@jens-maus jens-maus added this to the next release milestone May 3, 2022
@jens-maus jens-maus added the 👍 important This is an important issue/ticket with high priority label May 3, 2022
@jens-maus
Copy link
Owner

Danke für den Hinweis. Kannst du dich bitte noch mehr durch die WebUI "fräsen" und an verschiedensten Stellen testen wo dir noch solche Umlaut-Probleme in der WebUI auffallen? Nach meinen kurzen Tests sollte das hoffentlich das letzte derartige Problem sein.

@jens-maus
Copy link
Owner

Nach weiteren kurzen Tests sieht es wohl so aus, das es daran liegt, das wenn man momentan den Namen eines Gerätes/Kanals via WebUI in dem bekannten Popup-Fenster unter "Einstellungen -> Geräte" editiert irgendwie UTF-8 Zeich am Schluss in .Name() des Rega-Objektes landen. Sehe kann man das z.B. mit folgenden angelehntem Skript:

object obj=dom.GetObject(1645);
WriteLine(obj.Name());
WriteLine(obj.Name().UriEncode());

object obj=dom.GetObject("HM-RCV-50 BidCoS-RFö");
WriteLine(obj.Name());

dies wirft die folgende Ausgabe:

HM-RCV-50 BidCoS-RFö
HM%2DRCV%2D50%20BidCoS%2DRF%C3%B6
null

D.h. das Objekt 1645 (welches normal HM-RCV-50 BidCoS-RF heisst) wird nach hinzufügen eine ö zwar bei "Skript testen" noch mit vermeintlich richtigem Namen ausgegeben, aber das UriEncode() verrät das am schluss ein %C3%B6 für das ö genommen wurde und daher das nächste dom.GetObject() mit dem ö im Namen aber nicht zum gewünschten Ergebnis führt. Setzt man hingegen den Namen via ReGa-Skripting einfach neu (z.B. obj.Name('HM-RCV-50 BidCoS-RFö') funktioniert das ganze und am schluss gibt er dann auch statt dem %C3%B6 ein %F6 aus welches eben korrekterweise einem ö in Latin1 (ISO-8859-1) entspricht.

Nun wäre eben die Frage an welchen anderen Stellen passiert aktuell ähnliches/gleiches? D.h. wenn man via WebUI z.B. den Namen einer Systemvariablen anpasst scheint das problemlos zu gehen und es landet kein Umlaut als UTF-8 in .Name() des ReGa objektes dieser Systemvariablen. Nun wäre es eben gut wenn jemand das mal ausführlich durchtesten könnte um ggf. noch andere Stellen zu finden wo am schluss fälschlicherweise Umlaute in ReGa landen die da eigentlich laut definition nicht hingehören weil ReGa und damit auch die WebUI eigentlich nur für ISO-8859-1 gemacht ist.

@jens-maus
Copy link
Owner

So, I denke ich hab den root-cause bzw. unterschied zur Vorversion gefunden und "repariert" welcher für das hier genannte Problem verantwortlich ist. D.h. mit dem nächsten nightly snapshot morgen sollte dieses Problem hier hoffentlich beseitigt sein.

Wichtig wäre natürlich aber weiterhin umfangreiche Tests an den verschiedensten Stellen in der WebUI zu tätigen wo man beliebigen Text eingeben kann um zu prüfen das am Schluss dann hoffentlich auch Umlaute korrekt kodiert in den ReGa Strukturen - aber auch via externer APIs wie JSON rpc api, XMLRPC, etc. - ausgegeben werden. Wäre also schön du könntest solche umfangreichen Tests vielleicht in nächster Zeit machen @Baxxy13

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented May 3, 2022

Sehr gut!
Versprechen kann ich bezüglich Tests nichts...
Aber da ich an einem Testsystem gleich 3 externe Steuerungen (ioBroker, NodeRed und HA) angedockt habe, werde ich ein wachsames Auge auf die Thematik haben und natürlich die WebUI bissel malträtieren.

jens-maus added a commit that referenced this issue May 10, 2022
largely reverted while keeping the tclrega+tclrpc sources at the current
state of affairs so that a proper charset encoding conversion is
performed within tclrega+tclrpc while tcl is now defaulting to the
iso8859-1 encoding again. While this is largely a revert to the state of
affairs of the 3.63.8.20220330 release this closes #1825 and refs #1821
and brings us back to the state of #1782 where certain external addons
like hm_pdetect have to be partly reworked to get character encoding
fixed. However, the WebUI itself should now correctly work with these
reverts.
@MichaelN0815
Copy link
Contributor

Ich habe die ova Version der 3.63.9.20220513 in meiner VM (ohne Funkmodul) getestet:
Systemvariablen - Namen und Inhalt editiert, über WebUI und SDV -> OK
Programme - Namen und Beschreibung editiert, über WebUI und SDV -> OK
Gerätenamen - aufgrund der Beschränkung wg. fehlendem Funkmodul nur CuxD Devides - Namen und Kanäle editiert, über WebUI und SDV -> OK

Sowohl Status als auch Anzeige auf der Startseite getestet: alte und neue Inhalt mit Umlauten werden korrekt angezeigt.
Nur DV's konnte ich nicht testen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug-report Something isn't working 🏷️ WebUI This refs the WebUI component 👍 important This is an important issue/ticket with high priority
Projects
None yet
Development

No branches or pull requests

3 participants