2Abendsegler / GClh

GC little helper II - Some little things to make life easy (on www.geocaching.com). Powerful, configurable tool to improve and expand the geocaching pages.
GNU General Public License v2.0
58 stars 38 forks source link

[Search Map] Error message "Sorry, we couldn't find what you're looking for". #1785

Closed capoaira closed 2 years ago

capoaira commented 3 years ago

Describe the bug After a bit dragging the map, you get the messages "we couldn't find what you're looking for" and no caches where show.

Expected behavior The Map should show all caches in the area.

Screenshots IMG-20210531-WA0000

Desktop (please complete the following information):

Additional context Der Bug wurde von @S-Man42 gemeldet. Bei mir tritt der Bug nur sehr unregelmäßig auf und lässt sich mit einem reload der Seite beheben. S-Man42 hat berichtet, dass bei ihm kein reload hilft.

2Abendsegler commented 3 years ago

Ich habe das auch schon mal gesehen, bekomme es im Moment aber gerade nicht hin. Bei mir half aber auch ein Reload. Kann es nicht sein, dass dieser Effekt auch ohne GClh auftritt?

capoaira commented 3 years ago

Weiß ich nicht, dazu nutze ich die Seite zu selten ohne GClh ;) Laut S-Man42 hilft es immer den GClh abzuschalten.

S-Man42 commented 3 years ago

Es ist nur mit eingeschaltetem GClh reproduzierbar. Bei mir ganz zuverlässig... Nach 10-20x verschieben/zoom tritt das auf. Firefox

capoaira commented 3 years ago

Ok, danke. Könntest du in der console nachschauen ob dort irgendwelche Errormeldungen auftauchen, wenn der Fehler das nächste mal auftritt?

S-Man42 commented 3 years ago

Ich kann keine wirklich schlimmen Sachen sehen:

Diese Seite verwendet die nicht standardisierte Eigenschaft "zoom". Stattdessen sollte calc() in den entsprechenden Eigenschaftswerten oder "transform" zusammen mit "transform-origin: 0 0" verwendet werden. map CacheVote Extension: cacheVoteSettings script loaded cacheVoteSettings.js:1:9 CacheVote Extension: main script loaded main.js:1:9 Das Components-Objekt sollte nicht mehr verwendet werden. Es wird bald entfernt. map in Startnull main.js:42:13 Das Components-Objekt sollte nicht mehr verwendet werden. Es wird bald entfernt. blank in Startnull main.js:42:13 Das Components-Objekt sollte nicht mehr verwendet werden. Es wird bald entfernt. bc-v3.min.html in Startnull main.js:42:13 WebGL warning: texImage: Alpha-premult and y-flip are deprecated for non-DOM-Element uploads. 16 MouseEvent.mozPressure sollte nicht mehr verwendet werden. Verwenden Sie PointerEvent.pressure stattdessen. leaflet.js:5:285 WebGL warning: texImage: Alpha-premult and y-flip are deprecated for non-DOM-Element uploads. 16 After reporting 32, no further warnings will be reported for this WebGL context. Die Ressource unter "https://unpkg.com/react@16.13.1/umd/react.production.min.js" wurde vorab geladen ("link-preload"), aber nicht innerhalb der ersten Sekunden verwendet. Es wird eine Überprüfung empfohlen, ob alle preload-Attribute korrekt gesetzt sind. map Die Ressource unter "https://unpkg.com/react-dom@16.13.1/umd/react-dom.production.min.js" wurde vorab geladen ("link-preload"), aber nicht innerhalb der ersten Sekunden verwendet. Es wird eine Überprüfung empfohlen, ob alle preload-Attribute korrekt gesetzt sind. map Error: Promised response from onMessage listener went out of scope background.js:11:26 Error: Promised response from onMessage listener went out of scope 4 common.js:4:491

2Abendsegler commented 3 years ago

@S-Man42 Danke, scheint nichts vom GClh.

Kann es sein dass du Automatic search for new caches after dragging or zooming eingeschaltet hast?

S-Man42 commented 3 years ago

Ja

2Abendsegler commented 3 years ago

Bei jeder kleinen Veränderung der Kartenausmaße schicken wir einen entsprechenden Request zur Ermittlung der Caches auf der Karte. Ob das notwendig ist oder nicht prüfen wir nicht. Ich glaube man darf nicht mehr als 10 derartige Requests pro Minute abschicken. Wer also viele Veränderungen der Kartenausmaße in kurzer Zeit macht, also beispielsweise beim Weiterschieben der Karte zu einem bestimmten Ort, schöpft die 10 aus und beim 11 Request gibt es dann das Bild mit "Sorry, hab nichts gefunden"... . Wenn man die restliche Zeit bis zum Ablauf der einen Minute abwartet, kann man das Problem mit einem Reload lösen. Wer es schneller haben will muss die Seite richtig neu anwählen. Das nur zum Hintergrund für uns und falls interessiert auch für dich.


Mal laut gedacht:

Wir könnten prüfen, ob ein Request überhaupt notwendig ist, anhand des letzten Requests und der damit einhergehenden Kartenausmaße. Zoomt man rein, muss kein Request sein. Zoomt man rein und bewegt danach die Karte, muss auch nicht unbedingt ein Request sein.

Richtig super wäre es dann noch, wenn wir die restliche Zeit auslesen könnten, müsste im Kopf der fehlerhaften Antwort stehen. Und dann sollten wir auch noch das Popup von GS verhindern. Wir könnten ein kleines Popup selbst erzeugen, irgendwie am Rand, dass aber dann auch nach ein paar Sekunden verschwindet. Und wir sollten erst wieder Requests an GS schicken wenn wir wieder dürfen. Alternative könnten wir auch selbst die Minute händeln und gar nicht erst auf Fehler laufen.

Das scheint mir schon etwas anspruchsvoll. Weiß nicht ob ich das hinbekomme. @capoaira, hast du vielleicht Lust oder eher nicht?

capoaira commented 3 years ago

Ah, das ist interessant und erklärt warum das Problem so unterschiedlich oft auftritt. Habe es sogar geschafft den "Bug" auch ohne den gclh nachzustellen:) Die Fehlerbehebung hört sich anspruchsvoll an und ist nichts was ich mir jetzt reservieren würde ;) Vor meinen Radurlaub werde ich mich auf jeden Fall nicht hierdran setzten

2Abendsegler commented 3 years ago

Ok, dann schau ich mir mal an wie weit ich komme.

2Abendsegler commented 3 years ago

Moin @S-Man42,

da wir das Laden der Caches für die Karte GS überlassen und nur den Button "Search this area" anklicken, können wir die wichtigsten Dinge beim Nachladen der Caches für die Karte nicht beeinflussen. Die Caches werden immer nur mit der aktuellen Ausdehnung der Karte und dem anliegenden Zoom geladen. Sobald nun eine kleine Bewegung der Karte stattfindet, muss nachgeladen werden. Wenn man sich also beispielsweise von einem Ort auf der Karte immer weiter nach Süden bewegt indem man die Karte immer weiter verschiebt, dann sind wir schnell bei der Grenze von 10 mal Laden pro Minute. Das können wir meines Erachtens nicht sinnvoll unterbinden.

Ich habe drei Verbesserungen mit minimaler Wirkung eingebaut.

  1. Ein Nachladen wird nur dann auch bei GS angefordert, wenn das Ergebnis der letzten Anforderung bei GS bei uns vorliegt.
  2. Zwischen zwei mal Nachladen muss eine Sekunde liegen, so dass beim schnellen Scrollen der Karte nicht unnötig nachgeladen wird.
  3. Ein Nachladen wird 0,5 Sekunden verzögert, so dass die letzten Werte einer Bewegung nachgeladen werden.

Das alles kann dazu führen, dass ein Nachladen auch mal unterbleibt. Bewegt man dann die Karte minimal, wird üblicherweise wieder nachgeladen.

Ich vermute mal dass du trotzdem an die Grenze stößt. Bitte teste mal so wie zuvor. Mehr lässt sich meines Erachtens nicht verbessern.

Hiermit kommt man zu den Änderungen. (Hier sind auch schon andere Änderungen enthalten.) Hiermit kommt man zurück zum aktuellen Script.

@capoaira, @Ruko2010, @S-Man42: Womöglich wurde die Grenze von 10 mal Laden pro Minute wegen genau diesem Feature von uns eingeführt. Das automatische Nachladen ist mit dem heutigen Wissen sehr bedenklich, weil wir womöglich die Regel von GS verletzen, dass wir über das übliche Maß Daten laden, was wir auf jeden Fall vermeiden möchten. Aus heutiger Sicht würde dieses Feature deshalb sicherlich nicht mehr life gehen und ich bin am Überlegen, ob wir das Feature in die Tonne treten, was das erste Mal wäre, dass wir so etwas tun. Was meint ihr?

capoaira commented 3 years ago

Das Feature ist eigentlich der Grund warum ich überhaupt die neue Karte nutze. Ohne das Feature würde ich wieder die alte Karte nutzen. Ich fände es sehr schade, wenn das Feature raus fliegt.

2Abendsegler commented 3 years ago

Was machst du denn anders als S-Man42? Oder bekommst du auch gelegentlich die Fehlermeldung.

capoaira commented 3 years ago

Ich bekomme die Fehlermeldung auch gelegentlich. Aber mich stört sie nicht so sehr, wie das ständige selber auf "mehr laden" klicken.

Ruko2010 commented 3 years ago

Wann genau bekommt ihr denn den Fehler? Eventuell würde es ja auch helfen die Nachladezeiten, die @2Abendsegler jetzt schon eingebaut hat noch etwas zu erhöhen. Zum Beispiel die Karte muss 2 Sekunden "ruhig" stehen bevor nachgeladen wird.

2Abendsegler commented 3 years ago

Ich bekomme den Fehler insbesondere dann, wenn ich nach bestimmten Caches suche, deshalb nicht so viele Caches auf der Karte sind und ich die Karte immer weiter in eine Richtung bewege.

Eigentlich sind die von mir eingebauten Verzögerungen schon zu hakelig. Wenn man 2 bis 3 Sekunden auf die Caches warten muss dann suche ich immer nach einem Lade Button zum draufdrücken. Ich werde meine Einbauten wieder etwas reduzieren und bin dabei mir das Nachladen zu merken und auszuwerten. Bin ich bei 10 mal Nachladen in 60 Sekunden, wird oben in schwarz ähnlich wie beim Ladeicon, etwas eingeblendet. Dort werden dann auch die Sekunden runtergezählt und es wird automatisch wieder selektiert, wenn man wieder darf. So in etwa. Ich lass euch drüberschauen wenn es so weit fertig ist.

Ruko2010 commented 3 years ago

Das klingt vernünftig

2Abendsegler commented 2 years ago

Close Issue.

Ich habe die zuletzt beabsichtigten Änderungen nie komplett fertiggestellt, insbesondere weil sie an dem eigentlichen Problem ja auch nichts ändern sondern lediglich die Fehlermeldung vermeiden sollten. Ich habe die letzten Wochen auch mit der Automatik gearbeitet und empfinde es nicht mehr so hakelig wie ursprünglich. Das hängt vermutlich auch damit zusammen, dass ich mittlerweile einen schnelleren Internetzugang nutze. Ich werde die letzten Änderungen deshalb so belassen.

Ich möchte hier auch keine weitere Arbeit investieren und werde das Issue ins Lager schieben. Wenn noch mal jemand daran arbeiten möchte, können wir das Issue nochmal von dort zurückholen.

capoaira commented 2 years ago

Mir gefällt die Lösung von @DieBatzen.

Auch wenn sie das Problem nicht direkt behebt, ist das UX schon deutlich besser. Ich musste teilweise die Map schießen und neu öffnen, nachdem ich die Fehlermeldung kam.

@DieBatzen kannst du hier einmal einen Comment schreiben, damit ich dich assignen kann

DieBatzen commented 2 years ago

Klar. Das Problem selbst kann leider nur Groundspeak beheben, aber die scheinen anderes zu tun zu haben.

2Abendsegler commented 2 years ago

Mir gefällt die Lösung von @DieBatzen.

Ja, mir auch. Danke!

2Abendsegler commented 2 years ago

Merged with #2124