Du bist nicht angemeldet. [Anmelden]
Seite 1 von 3 1 2 3 > alle
Optionen
Thema bewerten
Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) - #2904374 - 11.06.2018, 20:38:50
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Hallo allerseits. :)


Wir haben die letzten Wochen an einigen, größtenteils internen, Änderungen für den Client-seitigen Teil der UserApps gearbeitet. Diese betreffen entsprechend vor allem das Laden und Starten der Apps, aber ggf. auch das Verhalten zur Laufzeit.

Da diese Änderungen im schlimmsten Fall eventuell negativen Einfluss auf eure Apps haben könnten(!) (in Form von "das geht nicht!"-Bugs) wollten wir euch vorab die Möglichkeit geben das ganze auf dem Developer-Server ausgiebig zu testen.

Bitte schaut euch an ob eure Apps generell so funktionieren wie sie sollten, und legt besonderes Augenmerk auf:
  • Client.pageData ist korrekt befüllt
  • Events vom Server empfangen funktioniert korrekt
  • Events an den Server schicken funktioniert korrekt
  • alle APIs auf Client die ihr benutzt sind verfügbar und funktionieren korrekt (schaut dazu ggf. in die Doku)
  • alle APIs auf Client.getHostFrame funktionieren wie dokumentiert
  • Sounds funktionieren wie bisher
  • allgemein: alles hier genannte funktioniert auch im HTMLChat, StApp und Android

Feedback und Bugs bitte hier in den Thread, ich werde den Thread im Auge behalten. Dass ihr testet ist wichtig, denn nur so können wir alle Fehler im Live-Betrieb im .de und .at verhindern. Daher ist jeder einzelne von euch dazu aufgerufen seine Apps zu testen! :)

Das Ganze ist jetzt auf dem Developer-Server ausgerollt und verfügbar. :)


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] - #2904380 - 11.06.2018, 21:03:53
Kev777
​Forumsengel

Registriert: 03.09.2010
Beiträge: 7.103
knuddels-api.js:29 ---> Uncaught SecurityError: Sandbox access violation: Blocked a frame at "https://devchat.knuddels.de". The frame requesting access is sandboxed and lacks the "allow-same-origin" flag.

min.html:21 ---> Uncaught ReferenceError: Client is not defined
_________________________
Orwell war ein Optimist
________

„Würden die Menschen das Geldsystem verstehen, hätten wir eine Revolution noch vor morgen früh.“
- Henry Ford

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: TobyB] - #2904381 - 11.06.2018, 21:04:20
IgelchenM
​Laubhaufenbewohner

Registriert: 10.02.2005
Beiträge: 1.451
Ort: Bochum
Hey Toby,

ich habe aktuell folgendes Problem durch das Update auf dem Dev.

Channel: braintainment (öffentlich)
User App: knuddelsDEV.30558212.AAA
Problem:
Es werden keinerlei Icons mehr angezeigt die von Bootstrap vorher angezeigt wurden.
Reproduktion:
-> Channel besuchen.
- - -
User App: knuddelsDEV.30558212.AAA
Problem:
Es werden nicht mehr alle Icons angezeigt, die von Bootstrap vorher noch angezeigt wurden.
Reproduktion:
-> Channel besuchen.
_________________________
Wo zum Teufel ist dieser Wayne wenn man ihn braucht?!

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: TobyB] - #2904384 - 11.06.2018, 21:21:08
Sephiroth ME
​gods own prototype

Registriert: 24.11.2003
Beiträge: 180
Ort: RLP, DE
Externe Scripte können nicht mehr geladen werden. jQuery, Bootstrap, Schriftarten welche über Google APIs geladen werden und viele andere Dinge. - Einbindung von YouTube Videos ist nun auch nicht mehr möglich.

Sandbox des iFrames schön und gut, aber das schadet eher als zu helfen.

Ihr wollt, dass die Apps aufwändiger sind und weit mehr unterstützen, beschneidet die Entwickler aber wo es nur geht.

Web-Anwendungen ohne Zugriff aufs Internet. Willkommen im Jahr 1995.



In dem Sinne, maximale Erfolge.
_________________________
one step closer to world domination

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904455 - 12.06.2018, 08:40:24
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Guten Morgen. :)


Erst mal danke für das bisherige Feedback. Ich hab das was ich bereits daraus ziehen konnte notiert und wir werden uns das schnell anschauen.

Ich möchte noch mal darauf hinweisen, dass ich zum nachvollziehen und analysieren der Ursachen eurer Fehlermeldung mehr Infos brauche. Ich brauche:
  • Den Channel auf dem Dev-Server in dem eure App läuft (und ich muss den Channel betreten können :P)
  • Dann brauche ich eine Anleitung was ich tun muss um das Problem zu provozieren (z.B. irgend einen Slash-Command ausführen oder so)
  • Dann brauche ich am besten einen Hinweis auf die verwendete API (sei es eine von uns oder vom Browser/WebView) die Probleme macht (das ist aus den Fehlermeldungen nicht immer eindeutig ersichtlich) [nur falls ihr das zufällig leisten könnt, sonst schau ich selbst genauer nach]
  • gerne noch weitere Infos oder Hinweise, auch gerne auf jetzt eventuell nicht (mehr) korrekt funktionierende Konzepte

Das alles gilt auch für die bisher gemeldeten Probleme, da brauch ich noch mehr Infos um die Ursachen der Probleme zu analysieren.

Und ja, wir wissen, dass der Einsatz dieser Technik eure Möglichkeiten beschränkt. Dafür ist die Sandbox-Technik ja da. Erfahrungen der Vergangenheit haben leider gezeigt, dass das bisherige Konzept unsere Nutzer nicht genügend vor bösartig agierenden Apps schützen kann, weswegen wir diesen Schritt nun gehen müssen.
Allerdings ist es absolut nicht unser Ziel euch im Ausleben eurer Kreativität und dem Entwickeln toller und nützlicher Apps zu behindern. Im Gegenteil. Deshalb arbeitet bitte mit uns zusammen um alle Probleme zu identifizieren und zu finden und dann natürlich idealerweise aus der Welt zu schaffen. Wir machen diese Testphase auf dem Dev-Server jetzt ja genau deshalb, weil wir das Thema sauber hinbekommen wollen bevor es wirklich groß ausgerollt wird. Wir wollen versuchen zu erreichen, dass am Ende idealerweise niemand von euch auch nur eine einzige Zeile Code seiner Apps ändern muss, und alles weiterhin wie gewohnt funktioniert, gleichzeitig aber die Nutzer angemessen geschützt sind.

Ich bin aber optimistisch, dass das zu schaffen ist. Deswegen helft uns dabei. :)
_________________________
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] - #2904458 - 12.06.2018, 10:13:08
Bizarrus
​Bizzi is activated.

Registriert: 29.07.2006
Beiträge: 2.529
Ort: Dortmund
WebSockets gehen dann auch nicht mehr? ^^
_________________________
Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Bizarrus] - #2904479 - 12.06.2018, 12:04:42
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Auch wenn ich mich wiederhole: Sag mir den Channel, die App und eine Reproduktionsanleitung, dann schau ich mir das an.


Bearbeitet von TobyB (12.06.2018, 12:04:59)
_________________________
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: Sephiroth ME] - #2904500 - 12.06.2018, 13:22:40
Sephiroth ME
​gods own prototype

Registriert: 24.11.2003
Beiträge: 180
Ort: RLP, DE
<script src="/apps/api/knuddels-api.js"></script> kann nicht mehr implenentiert werden und ist in ettlichen Apps enthalten um Client etc. direkt zu definieren.
Code:
<script src="/apps/api/knuddels-api.js"></script>
<script>
	Client.getHostFrame().setResizable(true);
	Client.getHostFrame().setTitle('Was auch immer');

Dies löst dann Fehler aus wie
Code:
Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
	at https://apps3.knuddels.biz/apps/...
(Wenn man die "alte API" auf andere Weise implementiert)

Und bei allen User Apps die die knuddels-api.js laden erscheinen dann Fehlermeldungen ala
Code:
knuddels-api.js:1 Uncaught SyntaxError: Unexpected token <

Wenn versucht wird die Datei zu laden: https://apps3.knuddels.biz/apps/api/knuddels-api.js.
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
Warnung! Spoiler!
HTTP Header Anfrage:
Code:
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:
Code:
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:
Warnung! Spoiler!
Anfrage:
Code:
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:
Code:
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. :|

Die Änderung des API Loaders ist nirgends verzeichnet, weder hier im Threat noch sonst irgendwo.

Bei solch gravierenden Änderungen ist es mehr als ratsam sowas über einen längeren Zeitraum hinweg anzukündigen, sodass jeder auch dann wirklich die Zeit findet ALLES in allen Apps auf das Verhalten anzupassen, denn so wie ihr euch das denkt, dass wir als Entwickler dann nichts ändern müssten oder ihr davon ausgeht das jede User App undokumentierten Dingen entspricht geht es nicht.

Und wie man schön an Finos App selbst sehen kann, sieht der HEAD Aufbau komplett anders aus, als in sämtlichen Beispielen die die User Apps nutzen. (sollten)
Code:
(function() {
	function getQueryVariable(variable, input) {
		var query = (input || window.location.search).substring(1);
		var vars = query.split('&');
		for (var i = 0; i < vars.length; i++) {
			var pair = vars[i].split('=');
			if (decodeURIComponent(pair[0].replace(/\+/g, ' ')) === variable) {
				return decodeURIComponent(pair[1].replace(/\+/g, ' '));
			}
		}
	}
	var cacheInvalidationParam = 'loaderHash';
	var cacheInvalidation = getQueryVariable(cacheInvalidationParam);
	document.write('<script src="https://devchat.knuddels.de/apps/apploader/knuddels-api.js?loaderHash=' + cacheInvalidation + '"></scr' + 'ipt>');
})();


Wobei ein <script src="//devchat.knuddels.de/apps/apploader/knuddels-api.js"></script> auch genügt. - nun, diese Datei sollte aber auf apps3 apps5 dann liegen um sie mittels /apps/apploader/knuddels-api.js einzubinden - bzw. /apps/api/knuddels-api.js wie vorher einzubinden.

Offtopic - Hinweis - LoaderHash und Caching
Warnung! Spoiler!

Anstatt für jede aufgerufene Script-Datei eine veränderte URL mit einem randomized Tag zu nutzen (euer loaderHash), lasst den Webserver einfach sagen, dass keine der Dateien gecacht werden soll. Das ist genauso schwer, wie einem Baby den Schnuller zu klauen. Und kann mit jedem Webserver übermittelt werden.

Diese 3 Header-Anweisungen versteht jeder Webbrowser:
Code:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

Und ihr müsstest das lediglich für *.htm, *.html, *.js festlegen damit Änderungen immer direkt Live sind bzw. beim erneuten Aufruf direkt abgefragt werden.

Dies behebt dieses "Cachingproblem" in allen Browsern und die Scripte und die Abfragenmenge, Speicherauslastung etc. etc. wird erheblich verkürzt. (Es spart im großen und ganzen dann auch etwas an Traffic, vor allem Wichtig für reine Mobilfunknutzer mit begrenztem Datenvolumen)


Ebenso ist es sinnfrei die Tools bzw. "API" unnötig aufzublähen, setzt die Objekte so einfach wie möglich diese Verschachtelung mittels zig tausend Function aufrufen ist zwar angenehm fürs debugging, verschleiern und was euch sonst noch einfällt, aber es sind nur noch zwei Stellen die ihr wirklich prüfen müsst und zwar window.parent.postMessage() und das 'message' event welches Empfangen wird. - Alles andere kann auch vom HostFrame solang der sandbox-status aktiv ist aus nicht mehr ausgeführt werden. - Und den deaktiviert ihr ihr ja auch nur zur Prüfung ob die API geladen wurde oder nicht, falls nicht fügt ihr sie hinzu... Aber ~35kb bei jedem HTML UI aufruf laden müssen, im Vergleich zu 10-15KB ist für reine Mobilfunknutzer schon ein enormer Unterschied. - Betritt man im Monat 100x den selben Channel sind das bereits 2-2.5MB Traffic die eingespart werden. - Yay ein Lied in guter Qualität auf Spotify!

Ich meine damit definiert sie als:
Code:
isKnuddelsApiInjected = !0;
Client = {
  sendEvent: function() { ... },...
};
KnuddelsTools = {...}
ClientType = {...}
...alles andere was unter window verfügbar sein soll...
[isKnuddelsApiInjected,Client,KnuddelsTools,ClientType,...].forEach(Object.freeze);
Es ist OpenSource und ihr könnt niemanden daran hindern irgendwas selbst dort sogar einzufügen oder gar die Dateien selbst die entsprechende "Schnittstelle" vorzugaukeln - ... deshalb ist selbst das freeze überfüssig, schützt allerdings bei unerfahrenen Leuten davor, diese Dinge dann zu bearbeiten.

So viel nun dazu ~
_________________________
one step closer to world domination

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904506 - 12.06.2018, 13:34:38
Sephiroth ME
​gods own prototype

Registriert: 24.11.2003
Beiträge: 180
Ort: RLP, DE
Kleiner Nachtrag zu dem LoaderHash Hinweis: *.css files sollten auch diese Header Information erhalten.
_________________________
one step closer to world domination

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904536 - 12.06.2018, 15:15:50
Bizarrus
​Bizzi is activated.

Registriert: 29.07.2006
Beiträge: 2.529
Ort: Dortmund
Zitat:
Es ist OpenSource [...]

Wo steht das?

Nur weil du den Quelltext einsehen kannst, ist es noch lange nicht "OpenSource".

Zitat:
[...] und ihr könnt niemanden daran hindern irgendwas selbst dort sogar einzufügen oder gar die Dateien selbst die entsprechende "Schnittstelle" vorzugaukeln

Möchte ich bitte sehen! ;-) Ich habe selbst versucht diese "MITM" auszutricksen, es funktioniert aber schlichtweg nicht, da in dem Dokument zuvor durch den Server beim starten geprüft wird, ob die API "hereingeladen" wurde - Wurde diese auf "normalen Weg" hereingeladen, verbleibt es so; Es wird hier explizit geschaut ob das Script im Dokument eingebunden ist, wenn nicht macht der AppServer dies automatisch neu und setzt diese am Anfang des Dokumentes.

Ich habe da zig verschiedene Varianten probiert, es zu umgehen, es geht aber schlichtweg nicht. Selbst wenn du versuchst ein kaputtes Dokument (durch mehrfache Header/Bodys/Offene Comments,..) zu erzeugen, der das Script an der falschen Stelle einsetzt, das funktioniert schlichtweg nicht. Selbst ein nachträglicher Inject funktioniert nicht... Da war noch die Idee, alle Scripts zuvor als Child vom Parent zu entfernen und dann eine eigene API nachzuladen - Hierdurch geht die Instanz der Bridge verloren.


Bearbeitet von Bizarrus (12.06.2018, 15:18:46)
_________________________
Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904544 - 12.06.2018, 15:54:29
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Kommentar vorab: Das im Wiki verfügbare Beispiel "Beispielcode HTML UI" enthält leider fälschlicherweise noch ein Code-Snippet aus den Anfangszeiten der UserApps (nämlich das <script src="/apps/api/knuddels-api.js"></script> Tag). Dies werden wir korrigieren und ein neues Zip bereitstellen.

Antwort auf: Sephiroth ME
<script src="/apps/api/knuddels-api.js"></script> kann nicht mehr implenentiert werden und ist in ettlichen Apps enthalten um Client etc. direkt zu definieren.
[...]
(Wenn man die "alte API" auf andere Weise implementiert)

Und bei allen User Apps die die knuddels-api.js laden erscheinen dann Fehlermeldungen

Wir sorgen dafür, dass alle Apps automatisch die aktuellste Version der API zur Verfügung haben indem wir eventuell vorhandene (veraltete) script-Tags mit der knuddels-api.js entfernen und eben die korrekte Version als erstes Script einsetzen. Dies stellt sicher, dass eure Apps korrekt funktioneren. [Edit: siehe dazu auch das was Bizarrus schrieb]
Wer hier selbst durch irgendwelche selbt gebauten Mechaniken die API einfügt (bzw. es versucht) oder sonstwie den Lade-Prozess der App zu verändern versucht, umleitet oder sonst etwas damit tut handelt wider unserer API-Vorgaben und muss alle daraus resultierenden Probleme selbst verantworten und beheben. Wer sich an die Vorgaben unserer API hält hat diese Probleme nicht.

Antwort auf: Sephiroth ME
Und wie man schön an Finos App selbst sehen kann, sieht der HEAD Aufbau komplett anders aus, als in sämtlichen Beispielen die die User Apps nutzen.

Da gibt es aktuell scheinbar Probleme mit einigen UserApps, dass die API nicht korrekt eingesetzt wird. Da sind wir dran.

Zu den HTTP-Headern: Ja, ist nicht wie es sein sollte. Haben wir auf der Liste.

Zum Thema Caching: Wir verfolgen eine andere Caching-Strategy. Wir müssen sicherstellen, dass jeder Request einer App die neuste (und demnach korrekte) Version aller nötigen Dateien bekommt, wir aber dennoch cachen soweit möglich (ja, wir cachen, kanmnst schauen).


Ansonten wiederholt der Hinweis: Ich brauche Channels, Apps und eine Reproduktionsanleitung wenn ihr Probleme meldet.
_________________________
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] - #2904550 - 12.06.2018, 16:34:58
0oMiro0
Forumuser

Registriert: 09.11.2015
Beiträge: 8
Ort: deutschland,schleswig-holstein...
hallo gestern abend nach der entwickler runde, durften wir ja sehen was ihr so verändert habt.
hätte man das nicht vor der runde machen können?-dann wäre so was wie, warum geht das user.sendevent nicht mehr? zb.. als frage geklärt.wenn das veraltet ist was ist neu? ich selbst kann kaum etwas....aber wenn ich die ergebnisse sehe die passieren, kann ich beruhigt sagen das meines immer fehlerfrei war und ist. dann hab ich ein freund und in seinem channel geht nicht mal mehr die ui an sie läd sich tod,die hat den selben aufbau wie meine.

ich hab halt das problem user.sendevent aber man sieht meine ui und es gehen alle sachen ohne user.sendevent,es gibt bloß keine antwort zur ui. bei ihm geht nichts mehr und es werden nicht mal fehler angezeigt, weder bei ihm noch bei mir.

warum bietet man das in der api bis gestern an?wenn es eh raus sollte seit 2016..... wenn ich es jetzt richtig gelesen habe.

es muss doch so was wie ne roadmap geben die ihr macht, die für alle gilt. warum wird jetzt nach spezifischen fehlern gesucht direkt im channel.ich hab mich immer nach wiki und api gerichtet und das geht jetzt nicht mehr?

wäre schön wenn man mir wenigstens was für das user.sendevent als beispiel geben würde, wie es jetzt gehen sollte ohne user.sendevent, so das mein hauptscript mit der ui kommuniziert. so geht das glaube ich nicht mehr,ist doch richtig?


zudem sind fehler in der api, die ich auch gemeldet habe, interessieren tut das auch keinen. für leute die neu anfangen ist das schon der grund warum die meisten aufhören, weil es nicht geht.
Warnung! Spoiler!

beispiel:
______________________________________________________________
Methoden
getStreamingVideoUsers //hier wird es so geschrieben als überschrift
Feedback
() User[]

Liefert alle User die im Channel derzeit ihr Video streamen.
Rückgabewert:
User[]:
Beispiel:

var streamingUsers = videoChannelData.getStreamingUsers(); // im beispiel so....... geht nicht.
---------------------------------------------------------------------------------------------------
var streamingUsers = videoChannelData.getStreamingVideoUsers (); //das wäre richtig.

zu sehen hier:
http://developer.knuddels.de/docs/classes/VideoChannelData.html#method_getStreamingVideoUsers
______________________________________________________________________________________________

wurde gemeldet von mir, keine reaktion drauf, da es immer noch so da drin steht. wenn ich mir die anderen sachen ansehen würde, wären wohl da auch noch die fehler drin, die ich entdeckt habe. man müsste jedesmal wenn man jemanden die seite gibt sagen, ja tut mir leid das hier ist die api die ist aber nicht fehlerfrei und feedback senden bringt nichts, guckt sich eh keiner an.
für cracks ist das natürlich eine lappalie.für die, die es grade lernen oder ein wenig können, ist das hürden laufen. gesponsert von der api.




mfg

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: TobyB] - #2904562 - 12.06.2018, 18:26:05
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Antwort auf: TobyB
Antwort auf: Sephiroth ME
Und wie man schön an Finos App selbst sehen kann, sieht der HEAD Aufbau komplett anders aus, als in sämtlichen Beispielen die die User Apps nutzen.

Da gibt es aktuell scheinbar Probleme mit einigen UserApps, dass die API nicht korrekt eingesetzt wird. Da sind wir dran.

Der Bug ist mittlerweile auf dem Dev-Server gefixt. Da sollten eure Apps nun korrekt (mit der neuen API) starten.

Zu 0oMiro0 :
Du musst an deiner App nichts ändern. In der StApp/PC-App ist user.sendEvent() aktuell leider tatsächlich kaputt, aber wir arbeiten schon an einem Bugfix den wir bald (ich vermute spätestens morgen) in Form eines StApp/PC-App Updates ausrollen werden. Wir melden uns wenn die neue Version verfügbar ist.
Von dem Bug ist nur die neue API auf dem Dev-Server betroffen.

Antwort auf: 0oMiro0
zudem sind fehler in der api, die ich auch gemeldet habe, interessieren tut das auch keinen. für leute die neu anfangen ist das schon der grund warum die meisten aufhören, weil es nicht geht.
Warnung! Spoiler!

beispiel:
______________________________________________________________
Methoden
getStreamingVideoUsers //hier wird es so geschrieben als überschrift
Feedback
() User[]

Liefert alle User die im Channel derzeit ihr Video streamen.
Rückgabewert:
User[]:
Beispiel:

var streamingUsers = videoChannelData.getStreamingUsers(); // im beispiel so....... geht nicht.
---------------------------------------------------------------------------------------------------
var streamingUsers = videoChannelData.getStreamingVideoUsers (); //das wäre richtig.

zu sehen hier:
http://developer.knuddels.de/docs/classes/VideoChannelData.html#method_getStreamingVideoUsers
______________________________________________________________________________________________

wurde gemeldet von mir, keine reaktion drauf, da es immer noch so da drin steht. wenn ich mir die anderen sachen ansehen würde, wären wohl da auch noch die fehler drin, die ich entdeckt habe. man müsste jedesmal wenn man jemanden die seite gibt sagen, ja tut mir leid das hier ist die api die ist aber nicht fehlerfrei und feedback senden bringt nichts, guckt sich eh keiner an.
für cracks ist das natürlich eine lappalie.für die, die es grade lernen oder ein wenig können, ist das hürden laufen. gesponsert von der api.

Ich hab das ganze unter Bug 17434 aufgenommen. Da es aktuell allerdings auch einen Bug im updaten der Doku gibt (ich muss selbst drüber lachen xD) können Doku-Bugfixes aktuell allerdings noch nicht ausgerollt werden. Aber das steht auf der Liste, da sind wir hinterher.
_________________________
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] - #2904582 - 12.06.2018, 19:21:58
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Antwort auf: TobyB
In der StApp/PC-App ist user.sendEvent() aktuell leider tatsächlich kaputt, aber wir arbeiten schon an einem Bugfix den wir bald (ich vermute spätestens morgen) in Form eines StApp/PC-App Updates ausrollen werden. Wir melden uns wenn die neue Version verfügbar ist.

*meld*
Die Version der StApp/PC-App mit der ihr in den Genuss des Bugfixes kommt ist "V9.0bzv (b180612)", allerdings nur auf dem Beta-Channel. Wir müssen noch ein paar Tests durch laufen lassen bis wir die Version im stable-Channel ausrollen können.
Aber auf Android und besonders im HTMLChat gehts ja bereits (dort bekommt ihr auch vermutlich die besseren Fehlermeldungen die durch das Sandboxing auftreten können).

Des weiteren haben wir die Sandbox umkonfiguriert, so dass nun eigentlich alle Frameworks die intern auf "document.cookie" setzen (das sind erstaunlich viele, warum auch immer ...), wie z.B. Angular1 und Bootstrap, nun wieder funktionieren müssten.

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] - #2904758 - 13.06.2018, 19:44:58
Sephiroth ME
​gods own prototype

Registriert: 24.11.2003
Beiträge: 180
Ort: RLP, DE
Applet (Knuddels - Java ChatApplet - Version: V9.0bzw (b180614) [beta]; Java-Version: 1.8.0_144 (32bit); OS-Version: Windows 10 (10.0); User-Agent: "standalone"):
Code:
app-loader.html:1 Loader: start init
app-loader.html:1 Uncaught No Java objects are associated with the given JavaScript property.
Beim "zweiten" öffnen ist es etwas ausführlicher.
Code:
app-loader.html?client=Applet&appId=UserApp&testSystem=true&loaderHash=1528896896710:1 Loader: start init
app-loader.html?client=Applet&appId=UserApp&testSystem=true&loaderHash=1528896896710:1 Uncaught No Java objects are associated with the given JavaScript property.
  Loader.initBridge @ app-loader.html?client=Applet&appId=UserApp&testSystem=true&loaderHash=1528896896710:1
  (anonymous function) @ VM81:1
Er kommt nicht mal zu dem Punkt, die User App zu laden.

Externe Links können nicht mehr geöffnet werden als Popup (weder im Browser, noch im Applet).
Wenn allow-popups für die sandbox aktiv ist, werden diese (zumindest im HTML Chat) ebenfalls in einer sandbox geöffnet und können dort damit auch keinen Schaden anrichten.
z. B. <a href="https://feedback/abgeben" target="feedback">...</a> - Dies muss nun umständlich gelöst werden über Events an die App und /p an den Nutzer, welcher dann nochmals auf einen Link klicken muss.

Bizarrus, es ist nicht verboten Software zu analysieren und diese nachzubauen.
https://diepresse.com/home/techscience/hightech/754305/EuGHUrteil_Software-darf-kopiert-werden
Zitat:
Jedem Lizenznehmer sei es gestattet, Software im Rahmen des üblichen Gebrauchs zu testen, zu analysieren und nach den zugrunde liegenden Ideen zu forschen, heißt es im Urteil. Vertragliche Bestimmungen, die das verbieten, seien unwirksam.
Ebenso
Zitat:
Zwischen dem Kopieren und dem Nachbauen von Software ist aber ein riesiger Unterschied ähnlich wie in der Musikindustrie. Ich kann einen Song nachsingen oder kopieren. Der Unterschied ist gewaltig.
In dem Zusammenhang kannst du dir auch mal ReactOS anschauen, welches auf einer geleakten Version vom Windows 2000 Kernel basiert und Windows Anwendungen unterstützt.

Der Quellcode im Netz ist immer öffentlich (mal abgesehen von Flash Anwendungen und ähnlichem durch Plugins geladene Dinge) und da so vieles inzwischen über JS und mehr oder weniger simple Webanwendungen läuft und das alles für eine enorme Transparenz sorgt ist das ganze so einfach geworden wie noch niemals zuvor.
So werden unter anderem auch Sicherheitslücken weitaus schneller gefunden und geschlossen oder Herausforderungen die einen Großteil der Nutzer betreffen schneller beseitigt.
Solang ich also nicht den originalen Source nutze und diesen als "meinen eigenen" ausgebe, sondern anhand von diesem lerne, kann ich dahingehend für mich machen was ich möchte. Im Endeffekt geht es ohnehin nur darum Schnittstellen anzusprechen. Demnach kannst du, wenn du Lust und Laune hast, einen komplett eigenen Client schreiben, welcher sich mit Knuddels verbindet. Musst halt nur die Versionsangaben von Knuddels nutzen damit du dich überhaupt verbinden kannst. - Aber das sollte die geringste Herausforderung sein. :p

Aber das weicht zu sehr vom Thema hier ab und würde so oder so in einer Grundsatzdiskussion enden.

MfG
_________________________
one step closer to world domination

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904791 - 13.06.2018, 21:00:47
Sephiroth ME
​gods own prototype

Registriert: 24.11.2003
Beiträge: 180
Ort: RLP, DE
Das letzte Update scheint den Fehler mit dem app-loader im Applet behoben zu haben.
_________________________
one step closer to world domination

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904845 - 14.06.2018, 08:01:57
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Antwort auf: Sephiroth ME
Applet (Knuddels - Java ChatApplet - Version: V9.0bzw (b180614) [beta]; Java-Version: 1.8.0_144 (32bit); OS-Version: Windows 10 (10.0); User-Agent: "standalone"):
Code:
app-loader.html:1 Loader: start init
app-loader.html:1 Uncaught No Java objects are associated with the given JavaScript property.
Beim "zweiten" öffnen ist es etwas ausführlicher.
Code:
app-loader.html?client=Applet&appId=UserApp&testSystem=true&loaderHash=1528896896710:1 Loader: start init
app-loader.html?client=Applet&appId=UserApp&testSystem=true&loaderHash=1528896896710:1 Uncaught No Java objects are associated with the given JavaScript property.
  Loader.initBridge @ app-loader.html?client=Applet&appId=UserApp&testSystem=true&loaderHash=1528896896710:1
  (anonymous function) @ VM81:1
Er kommt nicht mal zu dem Punkt, die User App zu laden.

Das ist ein von diesem Thema unabhängiger Bug den wir bereits unter 17432 führen. Nach unserem aktuellen Kenntnisstand tritt das allerdings recht selten und unvorhersehbar auf. Wenn du mehr Infos dazu hast oder gar ein Szenario in dem sich der Fehler immer reproduzieren lässt, dann meld dich bei uns!

Zur Popup-Thematik:
Szenarien wie du sie beschreibst können auch jetzt schon über die API gelöst werden. Du kannst beim User einfach ein weiteres Popup über AppContent öffnen. Da dort dann wiederrum eine vollwertige Sandbox eingerichtet ist, ist ja letztendlich eine UserApp wie jede andere auch, wird der User keinem eventuellen zusätzlichem Risiko ausgesetzt.

Und diese ganze Software Analyse und Copyright Thematik könnt ihr alle wirklich komplett lassen, das gehört hier nicht her und hat hiermit auch nichts zu tun.
_________________________
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] - #2904847 - 14.06.2018, 08:12:25
Kev777
​Forumsengel

Registriert: 03.09.2010
Beiträge: 7.103
rückmeldung bezüglich funktionstüchtigkeit. alle meine apps laufen auf dem dev wieder wunderbar. konnte keine beeinträchtigungen mehr feststellen. auch meine testapp mit unity, auch wenn die echt noch nicht viel tut, läuft.
_________________________
Orwell war ein Optimist
________

„Würden die Menschen das Geldsystem verstehen, hätten wir eine Revolution noch vor morgen früh.“
- Henry Ford

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: TobyB] - #2904960 - 14.06.2018, 18:58:43
Sephiroth ME
​gods own prototype

Registriert: 24.11.2003
Beiträge: 180
Ort: RLP, DE
Antwort auf: TobyB
Das ist ein von diesem Thema unabhängiger Bug den wir bereits unter 17432 führen. Nach unserem aktuellen Kenntnisstand tritt das allerdings recht selten und unvorhersehbar auf. Wenn du mehr Infos dazu hast oder gar ein Szenario in dem sich der Fehler immer reproduzieren lässt, dann meld dich bei uns!
Wie gesagt, ist nach dem Update von gestern Abend nicht mehr aufgetreten. - Habe sämtliche Apps durchprobiert und alle gingen bis auf kleine Einschränkungen die aber auf die Sandbox in anderer Weise zurückzuführen sind.

Antwort auf: TobyB
Zur Popup-Thematik:
Szenarien wie du sie beschreibst können auch jetzt schon über die API gelöst werden. Du kannst beim User einfach ein weiteres Popup über AppContent öffnen.
Nein, es ist nur ein Popup pro User App erlaubt. - Am PC selbst, ist man es aber gewohnt mit mehreren Fenstern zu arbeiten. Aktuell muss man für User Apps eine zweite App installieren um ein zweites Popup zu öffnen.
Vorher war es möglich mit window.popup() bzw. <a href target..> ein sehr angenehmes Verhalten zu produzieren um je nach Fall zu entscheiden.
_________________________
one step closer to world domination

[zum Seitenanfang]  
Re: Developer-Server Test: Tiefgreifende Änderungen der App-API (Client) [Re: Sephiroth ME] - #2904986 - 14.06.2018, 19:53:30
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.506
Antwort auf: Sephiroth ME
Habe sämtliche Apps durchprobiert und alle gingen bis auf kleine Einschränkungen die aber auf die Sandbox in anderer Weise zurückzuführen sind.

Genau diese Kleinigkeiten interessieren mich. Kannst du mir die bitte alle nennen?
_________________________
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]  
Seite 1 von 3 1 2 3 > alle