[FTUI3] bugs oder designfehler in ftui-image

Begonnen von Jones, 06 August 2023, 17:15:14

Vorheriges Thema - Nächstes Thema

Jones

critical: nocache bei ftui-image führt zum fehler:
Uncaught (in promise) TypeError: URL constructor: /fhem/www/images/deutschland.png? is not a valid URL.fix: in funktion createUrl() den code wie folgt ändern:
if (src && (this.hasAttribute('nocache') || this.refresh)) {
  //const url = new URL(src);
  //url.searchParams.set('_', Date.now());
  //return url;
  return src + "?"+Date.now();
}

design: in icon.components.js heisst der pfad "path", in image.component.js "base".
fix: sollte in einer komponente umbenannt werden (bevorzugt in ftui-image).
[FTUI3] Addons: https://github.com/mr-petz/ftui/tree/addons
Manchmal habe ich Angst, dass ich euch nerve, aber dann fällt mir ein: Ihr seid ja freiwillig hier!

mr_petz

Das ist kein bug.
Hier wird bewusst ein Zeitstempel an den Dateinamen angehangen, damit das Bild neu geladen wird bei gesetzten Attribute nocache.

Jones

natürlich ist das ein bug, weil er nämlich gar nichts anzeigt.
firefox schmeist nur die oben gepostete fehlermeldung raus.
der zeitstempel wir nicht zugefügt sondern nur das "?".

[FTUI3] Addons: https://github.com/mr-petz/ftui/tree/addons
Manchmal habe ich Angst, dass ich euch nerve, aber dann fällt mir ein: Ihr seid ja freiwillig hier!

mr_petz

Dann sag oder zeig mal deine Definition.
Noch ein Hinweis für Kamera URLs:
https://forum.fhem.de/index.php?topic=115259.msg1242127#msg1242127

Jones

ist keine kamera url, sondern ein simples png.
definition:
<ftui-image nocache base="/fhem/www/images/" src="deutschland.png"></ftui-image>der nocache ist das problem, ohne funzt das.
[FTUI3] Addons: https://github.com/mr-petz/ftui/tree/addons
Manchmal habe ich Angst, dass ich euch nerve, aber dann fällt mir ein: Ihr seid ja freiwillig hier!

mr_petz

#5
Ich nehme an das ist kein statisches image.
nocache generiert eine url und erwartet eine url.
Wenn du jetzt Bsp.:
<ftui-image nocache src="http://deineIPvonFHEM/www/images/deutschland.png"></ftui-image>
angiebst, dann funzt es auch. Sofern das Bild da liegt.
Bei einem statischen Bild brauchst du kein nocache.

Jones

dein workaround funktioniert.

das bild kommt von der unwetterzentrale und wird des öfteren aktualisiert, deswegen brauche ich das nocache.
die endgültige image definition sieht so aus:
<ftui-image nocache [refresh]="Unwetterzentrale:lastConnection:time" height="315px" width="390px" top="3px" base="http://192.168.178.100:8083/fhem/www/images/" [src]="KarteUWZ | map('NRW: nordrhein-westfalen.png, BRD: deutschland.png')"></ftui-image>ich hatte ne weile mit ftui-icons gespielt, welche immer nen relativen pfad bekamen.
das klappte auch mit ftui-image immer bis ich, zum ersten mal, den nocache brauchte.

ich halte als für eine inkonsistens der ftui3 schnittstelle:
bei icons heisst es "path", im image "base" und ohne nocache funktionieren relative pfade, mit nocache nicht.
ich denke gerade für anfänger, wie mich, sorgen solche dinge für jede menge frust.
man sucht sich beispiele im forum welche funktionieren, dann ändert man einen parameter und nix geht mehr  :'( 



[FTUI3] Addons: https://github.com/mr-petz/ftui/tree/addons
Manchmal habe ich Angst, dass ich euch nerve, aber dann fällt mir ein: Ihr seid ja freiwillig hier!

mr_petz

Zitat von: Jones am 06 August 2023, 20:07:13dein workaround funktioniert.
...

Ich sehe das nicht als Behelfs-/Notlösung.
Das ist eine klare Vorgabe seitens des Programmierers....
Aber ja mangels knapper Doku muss man sich vieles zusammen suchen und testen...
Und änder bitte den Titel, weil ein bug ist es nicht...

Jones

ZitatIch sehe das nicht als Behelfs-/Notlösung.
ich schon, aus folgenden gründen:
- wenn 2 components ziemlich das gleiche machen (bildchen anzeigen) aber die parameter (path, base) anders heißen stößt das meinem designerherz übel auf.
- wenn 2 components die ziemlich das gleiche machen mit identischen parametern funzen, aber sobald ein nocache parameter dazu kommt nix mehr geht, sehe ich das als bug.
  zumal ein fix ja leicht möglich wäre (s.o. aber zzt nur für meinen fall getestet. mit streams von kameras habe ich da noch nix gemacht)
ZitatDas ist eine klare Vorgabe seitens des Programmierers....
habe mal gelesen, das die meiste zeit eines programmierers mit designänderungen und fehlersuche draufgeht.
soll heißen, das es manchmal viel bessere lösungen gibt als der programmierer im ersten anlauf gesehen hat.

was mich aber am meisten stört ist das die o.g. dinge dazu führen das ftui3 seinen extrem anfängerunfreundlichen ruf bestätigt.
ich bin anfänger und mir wurde von vielen leuten von fhem/ftui abgeraten, weil der einstieg zu kompliziert sei und mit anderer software gibts ein leichtes zusammenklicken der zentrale.
nehmen wir mal diesen konkreten fall: sobald da ne ip steht funzt kein copy/paste mehr.
die meisten anfänger geben auf sobald sowas passiert. aber ohne neue leute stirbt ein projekt.

ZitatUnd änder bitte den Titel, weil ein bug ist es nicht...
nun, ich halte es für einen bug, weiche den titel aber für dich auf.

versteht mich nicht falsch:
ich stehe hinter fhem/ftui3 weshalb ich ja hier versuche etwas beizusteuern.
(hatte auch mal die ct angeschieben und gebeten mal mehr von fhem/ftui zu berichten und configs beigefügt um das auszuprobieren)
aber das problem ist, das die meisten leute sofort einenen erfolg sehen wollen und erst danach anfangen tiefer einzusteigen.
sowas wird verspielt wenn parameter bei geräten mit "gleicher" funktion unterschied heißen und keine einfaches copy/paste von demos funktioniert.
ich habe verständnis dafür das ihr, als profis, die anfängerprobleme meist nicht nachvollziehen könnt, aber ich als anfäger bin hier um euch solange zu nerven bis die einstiegshürden gelockert werden.
[FTUI3] Addons: https://github.com/mr-petz/ftui/tree/addons
Manchmal habe ich Angst, dass ich euch nerve, aber dann fällt mir ein: Ihr seid ja freiwillig hier!