Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2905071 - 15.06.2018, 01:30:58
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
Da ich nicht alle Methoden offenlegen will, hab ich dir eine /m mit der Erklärung geschrieben.
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2905226 - 15.06.2018, 21:45:38
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
Client.pageData ist korrekt befüllt Eben nochmal getestet: Console =>
Client.pageData
undefined Wenn korrekt undefined ist, dann okay. =)
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Sephiroth ME]
- #2905264 - 16.06.2018, 00:13:25
|
Verified Prototype Hater
Registriert: 27.05.2006
Beiträge: 843
Ort: Elmshorn
|
Du musst die Console auch im Scope des appContent ausführen, nicht von "top", siehe dazu Skype
_________________________ » AppEntwickler-Coach » Prototype Hater
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: djchrisnet]
- #2905266 - 16.06.2018, 00:18:42
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
Nein habs auf appContent ebene ausgeführt, allerdings öffne ich die HTML File mit new HTMLFile('bla') - das Objekt wird nicht gesetzt, allerdings sollte es in "Client" dann dennoch definiert sein mit undefined oder null. Aber Client.hasOwnProperty('pageData') gibt false zurück, falls man es nur über new HTMLFile() ohne pageData Parameter geöffnet hat.
War nicht explizit genug, entschuldige. :)
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Sephiroth ME]
- #2905340 - 16.06.2018, 20:16:33
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
Client.getHostFrame().setTitle() wird nicht übernommen, es fehlt der Funktionsaufruf für postMessage() (wird aktuell nur ausgeführt durch den Eventlistener) e.addEventListener("DOMContentLoaded", function() {
l.appTitle && (document.title = l.appTitle), document.title || (document.title = "App"), f({
type: "setTitle",
params: [document.title]
})
}); Ein window.dispatchEvent(new Event('DOMContentLoaded')); löst es aktuell. Client.getHostFrame().setTitle("Some stuff!");
window.dispatchEvent(new Event("DOMContentLoaded")); loaderServer Wert: closeOnDisconnect = true wird nicht berücksichtigt => AppContent.Popup öffnen => Channel verlassen => bleibt geöffnet. - Overlays/Headerbars werden Notgedrungen durch die Channelschließung beendet. Ebenso Backspace löst dies aus: knuddels-tools.js?loaderHash=1529100600407:1
'KeyboardEvent.keyLocation' is deprecated and will be removed in M50, around April 2016.
Please use 'KeyboardEvent.location' instead. See https://www.chromestatus.com/features/4997403308457984 for more details.
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Sephiroth ME]
- #2905522 - 18.06.2018, 08:33:40
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Client.hasOwnProperty('pageData') gibt false zurück Stimmt, das ist ein Bug. Wird gefixt. "closeOnDisconnect" hab ich auch auf die Bugfix Liste gesetzt. Ebenso Backspace löst dies aus: knuddels-tools.js?loaderHash=1529100600407:1
'KeyboardEvent.keyLocation' is deprecated and will be removed in M50, around April 2016.
Please use 'KeyboardEvent.location' instead. See https://www.chromestatus.com/features/4997403308457984 for more details. Ich weiß nicht woher das kommen soll, ich finde kein "keyLocation" in unserem Code. [Und alles funktioniert soweit ja auch in Chrome >= 50] "Client.getHostFrame().setTitle("Some stuff!");" hab ich auch auf der Bugfix Liste. ----------- window.dispatchEvent(new Event('DOMContentLoaded')) Ich rate dir und jedem anderen deutlich davon ab so etwas zu tun (das künstliche Erzeugen von existierenden nativen Events - schlimm genug, dass die Spec das erlaubt). "DOMContentLoaded" ist ein Lifecycle-Event des Browsers (siehe MDN Doc for Events (besonders: "HTML DOM Events")). Wenn du das künstlich (erneut) abfeuerst, dann kannst du damit unvorhersehbare Effekte und Probleme provozieren. In aller Regel sind Event-Handler für dieses Event auch nicht darauf vorbereitet mehrfach ausgeführt zu werden, eben da dieses Event exakt ein Mal im tatsächlichen Lifecycle der Webseite passiert.
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2905833 - 19.06.2018, 16:57:46
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Hallo  Wir haben eben auf dem Dev-Server ein Update der API ausgerollt. Damit haben wir folgende Punkte behoben: - Die Property Client.pageData ist nun (wie vorher) immer existend, hat als Wert aber undefined wenn keine pageData vorhanden ist
- Der Titel wird nun beim Laden der App und beim setzen via Client.getHostFrame().setTitle('someTitle') korrekt aktualisiert/gesetzt
- Echte Interaktion eines Users mit der HTML-UI zählt nun wieder als Aktivität (das hat nicht überall und immer funktioniert)
- Diverse kleinere Bugfixes, besonders für den JavaFX Browser der z.B. noch im Applet benutzt wird
Sonstige Hinweise: - Das erwähnte closeOnDisconnect ist eine interne API und funktioniert wie gewünscht
- Cache-Invalidation für z.B. CSS-Dateien (wurde hier nachgefragt) gibt es schon immer out-of-the-box via Client.includeCSS()
- Um es Entwickler-Neulingen in der nun beschränkteren Umgebung etwas einfacher zu machen haben wir z.B. alert() durch console.log() ersetzt und geben gleichzeitig ein Warning in der Console aus das darauf hinweist
Bitte testet noch mal dass alles funktioniert wie es soll. Wir planen aktuell das ganze in wenigen Wochen Live für alle UserApps auszurollen. Happy Testing. :)
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Kev777]
- #2905901 - 20.06.2018, 08:17:30
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Ich hätte da noch eine Bitte an Kev (und gerne jeder der sich sonst noch angesprochen fühlt!) auch meine testapp mit unity, auch wenn die echt noch nicht viel tut, läuft. Wer sich eventuell an Nics Posting zu unserer Unity3D App aus einem unserer Hackathons erinnert, der wird vermutlich auch noch folgenden Faupax von uns (bzw. dem UserApps System) kennen: Leider hat das UserApp System ein paar gemeine Sonderheiten. Zum Beispiel überschreiben wir URL, was Unity intern zum nachladen von Spielinhalten nutzt. Glücklicherweise können wir unsere eigenen JavaScript Dateien schnell anpassen. Der Übeltäter überschreibt nun zwar immernoch URL, stellt in window._URL aber das ursprüngliche Objekt bereit. Damit kann in der von Unity generierten HTML Seite ein kleines Schnippsel eingebunden werden, das _URL wieder zurück in URL kopiert. Es muss also die Vorlage der von Unity generierten index.html angepasst werden. Unity bietet dafür benutzerdefinierte Templates. Damit kann das folgende Schnippsel leicht eingebunden werden, welches alle von Unity benötigten Funktionen des URL Objekts wiederherstellt. Stellt sicher, dass das Schnippsel eingebunden wird, bevor “UnityLoader.instantiate” aufgerufen wird. <script>
URL.createObjectURL = _URL.createObjectURL;
URL.revokeObjectURL = _URL.revokeObjectURL;
</script> Im Zuge der Umbauten an der API der letzten Wochen haben wir dieses Problem behoben. Wir überschreiben nicht mehr das Browser-native globale URL Objekt. Wir haben allerdings das damals als Workaround eingeführte globale Objekt _URL unangetastet gelassen um mit euren bestehenden Apps kompatibel zu bleiben. Allerdings würden wir diesen Workaround gerne irgendwann entfernen. Das heißt ihr könnt und sollt gerne den von Nic beschriebenen Workaround ausbauen, es sollte jetzt out-of-the-box funktionieren. Daher wäre es super wenn ihr das tun und testen könntet. :)
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2906159 - 21.06.2018, 16:19:38
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Hallo :)
Das Test-Szenario wurde soeben ein wenig erweitert. Ihr könnt und sollt jetzt nicht nur eure UserApps testen sondern könnt und sollt auch die SystemApps testen die zum Thema UserApps/MyChannel gehören. Das ganze findet auch auf dem Dev-Server statt.
Die Apps sind: - Entwickler-AGB - /apps - UserApp-Toplisten - MyChannel-Monetarisierung - /kcode web (KCode-Tool um zu prüfen wie das alles im HTMLChat aussieht)
HINWEIS: Es gibt bei SystemApps in seltenen Fällen das Problem, dass der erste Versuche die App zu öffnen nicht korrekt funktioniert, dann bleibt die App im loading-Vorgang stecken. Dann einfach die App erneut öffnen, dann gehts. Diese Fehler werden wir vermutlich nächste Woche beheben.
Viel Spass! :)
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2906294 - 22.06.2018, 16:31:26
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Hey :) Heute die für etwa 10 Tage die letzte Bugfix-Liste (ich bin dann im Urlaub). - Client.getHostFrame().setTitle() funktioniert jetzt auch vor dem DOMContentLoaded Event und auch der Title den ihr im Server-Code setzt wird immer sauber übernommen
- Client.getHostFrame().setResizable() wirft keine NullPointerException mehr wenn man die Methode ohne Parameter aufruft - die Methode funktioniert nur noch mit exakt einem boolean-Parameter
- Diverse Bugs im Ladeprozess, die aber glaube ich vor allem SystemApps betreffen
- Code cleanup
Falls ihr noch Probleme finden solltet dann meldet sie hier, wenn ich wieder da bin werd ich mir die alle anschauen. Weiterhin Happy Testing. :)
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2906349 - 23.06.2018, 03:46:09
|
Forumuser
Registriert: 09.11.2015
Beiträge: 8
Ort: deutschland,schleswig-holstein...
|
hallo,
das user.sendevent läuft wieder, danke.
nun geht aber /apptop nicht mehr.
problem accessing/apps/apptop/toplists.html. with-api.html reason:
not found
mfg
(Unter der ID: 0017472 gemeldet)
Bearbeitet von DerNeuanfang (25.06.2018, 20:55:54) Bearbeitungsgrund: BTS ID hinzugefügt
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: 0oMiro0]
- #2907774 - 03.07.2018, 15:14:58
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Entnehme ich dem Schweigen hier, dass es sonst keine offenen Probleme mehr gibt?
(/apptop haben wir auf der Liste)
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2907786 - 03.07.2018, 15:52:57
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
... https://tools.ietf.org/html/rfc2616#section-6.1.1 - Header Status Codes https://tools.ietf.org/html/rfc2616#section-10.2.1 - Header Status 200 https://tools.ietf.org/html/rfc2616#section-10.4.5 - Header Status 404 HTTP Header Anfrage: GET /apps/api/knuddels-api.js HTTP/1.1
Host: apps3.knuddels.biz
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36
DNT: 1
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,de;q=0.8 HTTP Header Antwort: HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: text/html
Accept-Ranges: bytes
ETag: "1543400404"
Last-Modified: Fri, 15 Jan 2016 13:06:47 GMT
Content-Length: 466
Date: Mon, 11 Jun 2018 21:31:18 GMT
Server: lighttpd/1.4.33 Datei ist nicht existent, header status ist aber ok?! Falsche Statuscodemeldung => Fehlerhafte Verarbeitung für alles was danach folgt und darauf aufbaut wie impletierung von Scripten. Der Browser überprüft in erster Linie den Status Code 200 Ok => Datei existiert => Versuchs als Script zu laden. 404 Nicht existient => Wieso soll ich etwas das nicht existiert laden? Was der Webserver antworte sollte als Header: Anfrage: GET /nonExistent.js HTTP/1.1
Host: google.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
DNT: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,de;q=0.8
Cookie: Jede Menge kram der euch nicht zu interessieren hat :p Antwort: HTTP/1.1 404 Not Found
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Content-Length: 1575
Date: Mon, 11 Jun 2018 21:40:32 GMT Ihr wisst auch genau, dass falsche Statuscodes zu Fehlverhalten führen, macht es dennoch. :| Tritt nach wie vor auf und erschwert das Debuging unnötig. Denn es wird kein Script Part ausgeführt nachdem eine "Fehlende Datei" implementiert wurde. - Und Tippfehler überliest man gerne mal, vor allem vertauschte oder vergessene Buchstaben.
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Sephiroth ME]
- #2908592 - 09.07.2018, 10:36:56
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Hallo :)
Wir haben noch mal etwas umgebaut. Könnt ihr eure Apps noch mal testen, dass es damit keine Regression gegenüber dem Stand von letzter Woche gibt? Die bisher offenen Punkte sind weiterhin offen und werden wir uns dann ggf in Kürze anschauen.
Wir steuern übrigens auf den Release des ganzen zu. Da seit vielen Tagen keine neuen Meldungen mehr kommen und wir (so gut wie) alle wichtigen Punkte gelöst haben steht einem Release nicht mehr viel im Wege.
Happy Testing. :)
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2908684 - 09.07.2018, 20:19:16
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Hallo noch Mal. :)
Auf Wunsch erläutere ich kurz was sich mit diesem Update geändert hat: - Wir haben hauptsächlich interne Veränderungen an der Struktur des Code vorgenommen (Refactoring, Cleanup) - Wir haben einige uralte und seit langer Zeit als "veraltet"/"deprecated" definierte Code-Schnippsel und APIs entfernt - Wir haben die Einbindung und initialisierung von Polyfills, Patches und Hilfs-Libraries vor allem für den JavaFX Browser glatt gezogen - Wir haben den Mechanismus gefixt der Usern mit veralteten Clients Update- oder Migrations-Möglichkeiten zum neuen/besseren Client anbietet
Und noch mal in expliziter Form der Hinweis: diese Version ist der Release Candidate für das Projekt! So wie es jetzt ist wollen wir das ganze nächste Woche live für alle ausrollen. Daher ist das die letzte Gelegenheit Feedback zu geben bevor wir das ganze live ausrollen.
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2908737 - 10.07.2018, 00:19:07
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
Ob es damit im Zusammenhang steht, kann ich nicht beurteilen, allerdings melden alle Systemapps Bad Gateway aktuell aufm Dev-Server.
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Sephiroth ME]
- #2909086 - 12.07.2018, 10:15:14
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Ob es damit im Zusammenhang steht, kann ich nicht beurteilen, allerdings melden alle Systemapps Bad Gateway aktuell aufm Dev-Server. Das ist ein Issue den wir bereits entdeckt haben. Das tritt lediglich beim ersten Aufruf jeder App nach einem Loader- oder AppServer-Update auf. Einfach die App erneut aufrufen, dann gehts. Diesen Issue gibt es nur auf dem Dev-Server.
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: TobyB]
- #2909087 - 12.07.2018, 10:26:35
|
Forumuser
Registriert: 09.11.2015
Beiträge: 8
Ort: deutschland,schleswig-holstein...
|
hallo, ich war heute im app menü (ansicht)drin weil ich was neu raufladen wollte. welche app willst du installieren, da kommt nichts außer das es dort dreht. bei einem kollegen ist das genau so. wenn ich unten aber den namen eingebe geht es. mfg
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: 0oMiro0]
- #2909127 - 12.07.2018, 17:10:27
|
gods own prototype
Registriert: 24.11.2003
Beiträge: 245
Ort: RLP, DE
|
Der EventListener eventReceived wird nicht mehr ausgelöst. Ist auch nicht mehr in der api-core-js zu finden.
_________________________ one step closer to world domination
|
[zum Seitenanfang]
|
|
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client)
[Re: Sephiroth ME]
- #2909131 - 12.07.2018, 17:23:30
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.581
|
Der EventListener eventReceived wird nicht mehr ausgelöst. Ist auch nicht mehr in der api-core-js zu finden. siehe letzter Changelog: - Wir haben einige uralte und seit langer Zeit als "veraltet"/"deprecated" definierte Code-Schnippsel und APIs entfernt Diese API die du ansprichst ist am 17.03.2015 eingeführt und am 17.06.2015, also nur drei Monate später (vor ziemlich genau 3 Jahren), als "Deprecated" markiert worden.
_________________________ There is no good without evil, but evil must not be allowed to flourish. There is passion, yet peace; serenity, yet emotion; chaos, yet order.
|
[zum Seitenanfang]
|
|