Standort-Plugin 🌍

  • FIX: Das direkte Öffnen der globalen Themenkarte sollte kein Problem verursachen
  • FIX: Der Übergang zwischen einer Kategoriekarte und der globalen Karte sollte jetzt korrekt funktionieren
  • Nicht funktionierende WIP-Kartentests

@vincefrommtl, @Stephane_Roy @packman Könnten Sie dieses Update bitte ausprobieren? Beachten Sie den Umfang der Korrekturen. Eine weitere Korrektur folgt in KĂŒrze.

(Technischer Hinweis: Da die Leaflet-Bibliothek ein globales Objekt ist, kann QUnit sie anscheinend nicht sehen. Daher konnte ich fĂŒr diese Korrekturen keine vollstĂ€ndig integrierten FE-Tests bereitstellen. Wenn jemand weiß, wie ich Leaflet und QUnit zum Laufen bringen kann, lassen Sie es mich bitte wissen.)

3 „GefĂ€llt mir“

Meine RĂŒckmeldung:

  • Der Übergang von der globalen Karte zu einer Kategoriekarte funktioniert. Aber der umgekehrte Weg (von der Kategoriekarte zur globalen Karte) ist fehlerhaft, genauso wie von Kategorie zu Kategorie.
  • Ich habe diesen Fehler seit meinem Upgrade nicht mehr in meinem Log gesehen: ActionView::Template::Error (No route matches {:action=>"map_feed", :controller=>"list"}). :slight_smile:
  • Neuer Fehler: Manchmal zeigen gruppierte Links auf der Karte nur den Positionsmarker auf der Karte, wenn man hineinzoomt, nicht die Beschriftung.
  • Neuer Fehler: Manchmal verlinken die Beschriftungen von Markern auf der Karte nicht zum entsprechenden Thema.
  • Neuer Fehler: Die globale Karte ist jetzt vom gleichen Fehler wie die Kategoriekarten betroffen: Es werden nur wenige Marker angezeigt (siehe unten).

BezĂŒglich Karten, die weniger Marker als erwartet anzeigen: Ich habe es mir genau angesehen, und es werden nur Marker fĂŒr Themen angezeigt, die in den letzten 20 Tagen aktiv waren (oder so Ă€hnlich), und maximal 30 davon. Ist es möglich, dass es sich um ein Konfigurationsproblem in unserem Forum handelt? Das erscheint sehr spezifisch! Aber wir haben nichts an diesen Einstellungen geĂ€ndert. Ich habe maximal 1700 location map max topics und ich glaube nicht, dass es eine zeitbezogene Einstellung gibt, die dazu fĂŒhren wĂŒrde, nur Marker von Themen anzuzeigen, die in den letzten 20 Tagen aktiv waren?

1 „GefĂ€llt mir“

Nach dem Upgrade habe ich die globale Karte geöffnet und es wurden keine Markierungen (Thema) angezeigt. Wenn ich den Speicherort fĂŒr ein Thema mit einer Markierung bearbeite und einfach ohne Änderungen speichere, erscheint die Markierung. Alle meine Markierungen sind ĂŒber 20 Tage alt, vielleicht ist das dasselbe Problem, das @vincefrommtl sieht?

Bearbeiten: Die SchaltflĂ€che “Karte anzeigen” fĂŒr jedes Thema zeigt immer noch den richtigen Markierungsort an, wenn diese Markierung nicht auf der globalen Karte angezeigt wird.

1 „GefĂ€llt mir“

Danke Leute, ich schaue es mir nochmal an.

2 „GefĂ€llt mir“

Dies ist keine vollstÀndige Lösung, aber sie sollte meiner Meinung nach die alten Themenstandorte wiederherstellen und gleichzeitig den Kartenfehler beim direkten Laden von einem externen Link oder beim Aktualisieren des Browsers vermeiden:

Bekanntes Problem: Ich habe den direkten Übergang von Karte => KartenĂŒbersicht noch nicht gelöst (aber dies sollte ein Ausnahmefall sein), aber alles andere sollte besser sein.

1 „GefĂ€llt mir“

Ich werde morgen testen, aber ein Benutzer hat gerade darauf hingewiesen, dass US-Orte jetzt als Stadt, Land, Bundesstaat benannt werden, z. B. Atlanta, USA, Georgia.

Schneller Test: Ich kann bestÀtigen, dass ich mit diesem neuen Update alle Markierungen auf der Karte sehen kann. Vielen Dank. :slight_smile:

Vorerst werde ich meinen Benutzern raten, nicht von einer Kategorienkarte zur anderen zu springen, um den fehlerhaften Übergang zu umgehen.

1 „GefĂ€llt mir“

Die einzigen kĂŒrzlichen Änderungen beziehen sich auf die Kartenpopulation.

Die Reihenfolge der LÀnder/Bundesstaaten ist nicht die allerneueste Version. Ich habe sie erwÀhnt, weil ich mich nicht erinnere, sie vor den Versionen der letzten Tage gesehen zu haben.

1 „GefĂ€llt mir“

@packman vorerst habe ich dein frĂŒheres Problem behoben:

und das wird jetzt durch Tests abgedeckt.

danke nochmals an @david, dass er mich bei diesem Problem aus dem Bunker geholt hat.

3 „GefĂ€llt mir“

@merefield Hallo, nur zur Info: Die Methode modify_user_params ist seit einiger Zeit veraltet und wird nun, da Discourse Version 3.2.0.beta1-dev erreicht hat, bald entfernt.\n\n\ndiscourse-locations/lib/users_map.rb\n35: def modify_user_params(attrs)\n\n\n

\n\nKönntest du dich darum kĂŒmmern, sie zu aktualisieren, um den Modifier users_controller_update_user_params zu verwenden, wenn du Zeit hast? Danke!

1 „GefĂ€llt mir“

Sicher, danke fĂŒr den zusĂ€tzlichen Hinweis, ich werde mich diese Woche darum kĂŒmmern.

1 „GefĂ€llt mir“

Blake, das ist erledigt. HĂ€ttest du etwas dagegen, wenn ich dich als Gutachter hinzufĂŒge?

3 „GefĂ€llt mir“

Super, danke!

2 „GefĂ€llt mir“

Danke, zusammengefĂŒhrt!

1 „GefĂ€llt mir“

Tut mir leid, schlechte Nachrichten zu ĂŒberbringen, aber ich habe einen Fehlerbericht.

Wir verwenden derzeit die neueste Version, die wir heute Morgen aktualisiert haben: 3.2.0.beta1-dev (7ca5ee6cd2)

Wir stoßen auf ein seltsames Problem, das vor zwei Wochen bei unserem letzten Update nicht vorhanden war: Wir können kein Benutzerprofil mehr bearbeiten, wenn es benutzerdefinierte Felder hat.

Ich möchte diesen Benutzer bearbeiten: https://example.com/u/username/preferences/profile

Die Seite wird korrekt geladen:

Sobald ich auf Speichern klicke, erhalte ich eine Fehlermeldung:

Dies wurde bekannt, weil eine unserer anderen Websites das benutzerdefinierte Feld “membership” aktualisiert, wenn unsere Clubmitglieder ein Upgrade durchfĂŒhren, und der Discourse API-Endpunkt einen 500-Fehler ausgab.

Dies ist auch ersichtlich, wenn ich versuche, es mit Postman zu reproduzieren:

Die Discourse-Protokolle zeigen:

und:

plugins/discourse-locations/plugin.rb:188:in `block (2 levels) in activate!'

lib/discourse_plugin_registry.rb:293:in `apply_modifier'

app/controllers/users_controller.rb:2036:in `user_params'

app/controllers/users_controller.rb:198:in `update'

actionpack (7.0.7) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (7.0.7) lib/abstract_controller/base.rb:215:in `process_action'

actionpack (7.0.7) lib/action_controller/metal/rendering.rb:165:in `process_action'

actionpack (7.0.7) lib/abstract_controller/callbacks.rb:234:in `block in process_action'

activesupport (7.0.7) lib/active_support/callbacks.rb:118:in `block in run_callbacks'

app/controllers/application_controller.rb:420:in `block in with_resolved_locale'

i18n (1.14.1) lib/i18n.rb:322:in `with_locale'

app/controllers/application_controller.rb:420:in `with_resolved_locale'

activesupport (7.0.7) lib/active_support/callbacks.rb:127:in `block in run_callbacks'

activesupport (7.0.7) lib/active_support/callbacks.rb:138:in `run_callbacks'

actionpack (7.0.7) lib/abstract_controller/callbacks.rb:233:in `process_action'

actionpack (7.0.7) lib/action_controller/metal/rescue.rb:23:in `process_action'

actionpack (7.0.7) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'

activesupport (7.0.7) lib/active_support/notifications.rb:206:in `block in instrument'

activesupport (7.0.7) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport (7.0.7) lib/active_support/notifications.rb:206:in `instrument'

actionpack (7.0.7) lib/action_controller/metal/instrumentation.rb:66:in `process_action'

actionpack (7.0.7) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'

activerecord (7.0.7) lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack (7.0.7) lib/abstract_controller/base.rb:151:in `process'

actionview (7.0.7) lib/action_view/rendering.rb:39:in `process'

actionpack (7.0.7) lib/action_controller/metal.rb:188:in `dispatch'

actionpack (7.0.7) lib/action_controller/metal.rb:251:in `dispatch'

actionpack (7.0.7) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'

actionpack (7.0.7) lib/action_dispatch/routing/route_set.rb:32:in `serve'

actionpack (7.0.7) lib/action_dispatch/journey/router.rb:50:in `block in serve'

actionpack (7.0.7) lib/action_dispatch/journey/router.rb:32:in `each'

actionpack (7.0.7) lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack (7.0.7) lib/action_dispatch/routing/route_set.rb:852:in `call'

lib/middleware/omniauth_bypass_middleware.rb:74:in `call'

rack (2.2.8) lib/rack/tempfile_reaper.rb:15:in `call'

rack (2.2.8) lib/rack/conditional_get.rb:40:in `call'

rack (2.2.8) lib/rack/head.rb:12:in `call'

actionpack (7.0.7) lib/action_dispatch/http/permissions_policy.rb:38:in `call'

lib/content_security_policy/middleware.rb:12:in `call'

lib/middleware/anonymous_cache.rb:389:in `call'

lib/middleware/gtm_script_nonce_injector.rb:10:in `call'

rack (2.2.8) lib/rack/session/abstract/id.rb:266:in `context'

rack (2.2.8) lib/rack/session/abstract/id.rb:260:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/cookies.rb:704:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport (7.0.7) lib/active_support/callbacks.rb:99:in `run_callbacks'

actionpack (7.0.7) lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'

logster (2.12.2) lib/logster/middleware/reporter.rb:43:in `call'

railties (7.0.7) lib/rails/rack/logger.rb:40:in `call_app'

railties (7.0.7) lib/rails/rack/logger.rb:27:in `call'

config/initializers/100-quiet_logger.rb:20:in `call'

config/initializers/100-silence_logger.rb:29:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/request_id.rb:26:in `call'

lib/middleware/enforce_hostname.rb:24:in `call'

rack (2.2.8) lib/rack/method_override.rb:24:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/executor.rb:14:in `call'

rack (2.2.8) lib/rack/sendfile.rb:110:in `call'

actionpack (7.0.7) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'

message_bus (4.3.7) lib/message_bus/rack/middleware.rb:60:in `call'

lib/middleware/request_tracker.rb:233:in `call'

railties (7.0.7) lib/rails/engine.rb:530:in `call'

railties (7.0.7) lib/rails/railtie.rb:226:in `public_send'

railties (7.0.7) lib/rails/railtie.rb:226:in `method_missing'

rack (2.2.8) lib/rack/urlmap.rb:74:in `block in call'

rack (2.2.8) lib/rack/urlmap.rb:58:in `each'

rack (2.2.8) lib/rack/urlmap.rb:58:in `call'

unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'

unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'

unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'

unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'

unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'

vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'

vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

Seltsamerweise kann ich mein EIGENES Profil bearbeiten und die benutzerdefinierten Benutzerfelder aktualisieren, das funktioniert einwandfrei.

Aber ich kann keine anderen Benutzer mehr bearbeiten, und auch system kann die Aktualisierungen nicht mehr ĂŒber unsere API durchfĂŒhren.

Wenn ich das Locations-Plugin deaktiviere, funktioniert alles wieder einwandfrei:

3 „GefĂ€llt mir“

@Richie danke fĂŒr deinen Bericht.

Ich kann das reproduzieren.

Es scheint nur dann zu passieren, wenn jemand keinen Standort hat.

Dieser Code wurde kĂŒrzlich aufgrund einer Veralterung im Kern refaktorisiert und ich habe einen (ziemlich großen) Fall ĂŒbersehen. Ich werde ihn bald patchen.

5 „GefĂ€llt mir“

Ah, also war es vielleicht doch ein falscher Hinweis, dass ich mein eigenes Profil erfolgreich bearbeitet habe, da ich einen Ort in meinem habe :slight_smile:

Kein Problem, danke fĂŒr die fortlaufende UnterstĂŒtzung :slight_smile:

Ich glaube, das sollte jetzt behoben sein:

8 „GefĂ€llt mir“

Update heute Morgen, keine HTTP/500-Fehler mehr.

Danke fĂŒr die schnelle Behebung, Robert :smiley: :clap:

3 „GefĂ€llt mir“