Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Plugin : Kniffel
Interessanterweise passieren die Fehler, dass etwas nicht eingetragen wird, häufig bei der gleichen Userin.
Eben weder in der Testversion.
Sie spielt meistens unterwegs mit dem Smartfon, kann dann das was ausmachen?
Außerdem ist sie die Einzige, die mitspielt, mit einem Unterstrich im Namen.
Man kommt ja bei solchen Häufungen bei einem User auf die krusesten Dinge, um Unterscheidungsmerkmale herauszufinden.
Zitat von BeNew im Beitrag #121
Interessanterweise passieren die Fehler, dass etwas nicht eingetragen wird, häufig bei der gleichen Userin.
Außerdem ist sie die Einzige, die mitspielt, mit einem Unterstrich im Namen.
Ein Unterstrich ist ein völlig normaler ASCII‑Zeichensatz und macht in JavaScript keinerlei Probleme.
Ich habe jetzt die ganze Speicherlogik umgestellt und die Callbacks sauberer verschachtelt.Der Reload kommt jetzt sofort beim Beenden vom Spiel.
Ich werde noch ein paar Tests machen und dann kannst Du das neue Update zum testen bekommen.
Gruß
Olaf
Ich habe Dir das neue Update, Version 0.084, zugesendet.
Gruß
Olaf
084 installiert.
Leider immer noch Probleme.
Vom Smartphone aus sind zwei Spiele nacheinander von einer Person gar nicht erst in der Liste eingetragen worden. Es kam auch keine "Liste aktualisiert" Meldung, die sind einfach durchgefallen.
Dann vom PC aus sind nachträglich zwei bereits eingetragene Spiele verschwunden, nachdem der User den Link zum neuerlichen Laden seines erspielten Ergebnisses benutzt hatte.
Dieses Problem hatte ich selber auch schon mal in der 080. Nachdem ich meinen EIntrag angeschaut habe, war er beim nächsten Aufruf plötzlich weg.
Kann sich da vielleicht auch was überschneiden? Einer spielt und einer guckt sich Einträge/Zeitstempel an?
Man bräuchte hier fast ein mitlaufendes Traceprotokoll.
Zitat von Olaf im Beitrag #117
Das gänzliche Ausschließen, das Daten von anderen Usern bei gleichzeitigen speichern verloren gehen, wird jetzt aber verringert.
Verbesserungsvorschlag an Xobor: eine compare-and-set-Funktion für Variablen. Dann kann ein Plugin in einer Schleife mit Exponential Backoff und Jitter immer wieder versuchen, eine bestimmte Änderung durchzuführen, ohne dass andere gleichzeitige Änderungen zu Problemen führen.
Zitat von BeNew im Beitrag #121
Sie spielt meistens unterwegs mit dem Smartfon, kann dann das was ausmachen?
Zitat von BeNew im Beitrag #124
Vom Smartphone aus sind zwei Spiele nacheinander von einer Person gar nicht erst in der Liste eingetragen worden. Es kam auch keine "Liste aktualisiert" Meldung, die sind einfach durchgefallen.
Bei mobiler Nutzung ist stets zu beachten, dass nicht durchgängig eine Verbindung bestehen muss. Da kann eine Schleife ... siehe oben.
Handys können viele Probleme im Kniffel auslösen, wenn z.B. das Tab nicht mehr aktiv ist, weil man eben schauen will, ob es woanders was neues gibt. Dabei wird JavaScript pausiert, Timer laufen nicht weiter, Netzwerk‑Requests werden verzögert und das bedeutet, setGlob() kann mitten im Speichern „einfrieren“, getGlob() kann erst Sekunden später zurückkommen, Callbacks laufen in falscher Reihenfolge und wenn der User wieder zurückkommt, dann werden meist die Tabs bei einem Handy automatisch reloadet und alles ist weg. Auch bei Verbindungsproblemen kann sowas passieren.
Ich habe deshalb im Update eine Einstellung gemacht, wo man Handys deaktivieren kann. Auch habe ich einige Daten gecacht, damit nicht so oft eine Anfrage an den Server gesendet werden muss.
Zitat von BeNew im Beitrag #124
Kann sich da vielleicht auch was überschneiden? Einer spielt und einer guckt sich Einträge/Zeitstempel an?
Bei Einträgen in den Kniffelblock setzen kann nichts kaputt gehen, weil nur gelesen wird und nichts in den Listen geschrieben/verändert wird.
Ich würde mal sagen, deaktiviere erstmal Handys und dann mal schauen ob alles besser läuft.
Ein neues Update, Version 0.085, habe ich Dir zugesendet.
Gruß
Olaf
Und schon Update , Version 0.086, hatte den Tageswechsel vergessen wieder einzubauen.
Gruß
Olaf
Zitat von Olaf im Beitrag #126
Handys können viele Probleme im Kniffel auslösen, wenn z.B. das Tab nicht mehr aktiv ist, weil man eben schauen will, ob es woanders was neues gibt.
Desktop-Browser machen das auch. Die Annahme einer Schonfrist von einigen Sekunden ist aber durchaus berechtigt - in beiden Umgebungen.
Zitat von Olaf im Beitrag #126
getGlob() kann erst Sekunden später zurückkommen, Callbacks laufen in falscher Reihenfolge und wenn der User wieder zurückkommt, dann werden meist die Tabs bei einem Handy automatisch reloadet und alles ist weg. Auch bei Verbindungsproblemen kann sowas passieren.
Callbacks haben keine falsche Reihenfolge. Die sind eine Schnittstelle für asynchrone Operationen und diese haben keine Garantie bzgl. der Ausführungsreihenfolge. Wenn man eine Reihenfolge wünscht, muss man die Aufrufe passend verschachteln oder mit dem syntaktischen Zucker await arbeiten.
Tabs werden nicht automatisch neu geladen, sondern entladen und beim nächsten Aufruf wieder geladen. Aber das gibt es auch auf Desktop-Systemen.
Gegen eine Unterbrechung zwischen get und set würde ein Compare-And-Set für Variablen seitens Xobor helfen. Sofern es noch nicht so ist, wäre eine Variable für die Bestenliste, die das Datum und die Liste enthält, vorteilhaft, insbesondere wenn es das Compare-And-Set gäbe.
Es gibt den Offline-First-Ansatz: lokal eine Queue von Schreiboperationen (neuen Bestenlisteneinträgen) vorhalten und immer wieder (mit Pausen) versuchen, diese anzuwenden. Dann sind alle Unterbrechungen egal.
Zitat von Olaf im Beitrag #126
wo man Handys deaktivieren kann
Das könnte sich negativ auf die Zufriedenheit der Benutzer auswirken.
Danke @Olaf .
086 ist bei uns im Test. Handy habe ich erstmal deaktiviert.
Ich habe nochmal zwei Punkte, die in der Diskussion mit den Usern hoch kamen.
1) Die Userin, die bisher meist über das Handy die Aktualisierungsfehler produziert hat, ist in Österreich. Wobei sie dabei nicht über das mobile Netz dran ist , sondern zuhause über Wlan am Router angemeldet.
Sie kann aber auch vom Desktop aus spielen, da war ( bisher ) zumindest kein Problem, kann aber gut sein, dass es da nicht passierte, weil niemand anderes zu der Zeit auch gespielt hat. Wir werden uns mal verabreden, 3 oder 4 gleichzeitig über Desktop spielen.
Nachdem es ja ein zeitkritische Geschichte bei der Aktualisierung der Listen ist, könnte die Ländergrenze da auch eine Rolle spielen?
2) Gestern bin ich dann zufällig auf eine ziemlich ungünstige Konstellation gekommen, die jetzt nicht nur mit Kniffel alleine zu tun hat.
Wenn ich ein Update eines Plugins installiere, kriegen die User, die im Moment eingeloggt sind, das neue gar nicht geladen.
Ich kann ja auch nie sicher sein, dass alle einen Neustart machen, nachdem das Update gelaufen ist. Im Prinzip kann es sein, dass jeder jetzt mit einer anderen Pluginversion kniffelt, weil er sich nie ausloggt?
Aufgefallen ist es mir, als ein User schrieb, er hatte sich am Vortag übers Handy nicht ausgeloggt gehabt und kriegte immer noch das Kniffelsymbol angezeigt und konnte auch ein Spiel machen. Obwohl ich geschrieben hatte, dass es nach dem Update auf 086 nicht mehr erscheinen dürfte. Man also nicht mehr über Handy Kniffeln sollen könnte.
Zitat von BeNew im Beitrag #131
Nachdem es ja ein zeitkritische Geschichte bei der Aktualisierung der Listen ist, könnte die Ländergrenze da auch eine Rolle spielen?
Eine WLAN-Verbindung in Österreich ist technisch exakt das gleiche wie eine WLAN-Verbindung in Deutschland, gleiche Protokolle, gleiche Browser, gleiche Latenzen, gleiche DNS-Auflösung, gleiche TCP-Mechanik. Es gibt keine zusätzliche Verzögerung, nur weil ein User über die Grenze kommt.
Zitat von BeNew im Beitrag #131
Im Prinzip kann es sein, dass jeder jetzt mit einer anderen Pluginversion kniffelt, weil er sich nie ausloggt?
Es wird zwar nach jeden Spiel ein Reload ausgeführt, aber ein Reload lädt zwar die Seite neu, aber nicht zwingend die Plugin Dateien. Browser, besonders auf dem Handy, cachen JavaScript sehr aggressiv und halten alte Versionen im Speicher, solange der Tab nicht komplett geschlossen wird. Wenn ein User den Tab offen lässt oder die App nur minimiert, spielt er weiter mit der alten Plugin-Version, selbst wenn du ein Update installiert hast.
Erst ein kompletter Tab-Schluss, ein Browser-Neustart oder ein Logout sorgt dafür, dass die neue Plugin-Version wirklich geladen wird. Das Verhalten ist normal und liegt am Browser-Caching, nicht am Plugin.
Gruß
Olaf
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software