Locations Plugin 🌍

再現できません。手順を教えてください。

これで私の問題は解決しました…

  1. 位置情報が有効なカテゴリを作成します(位置情報の設定はすべてオンになっていますが、これが違いを生むかどうかはわかりません)。
  2. カテゴリ内に新しいトピックを作成し、位置情報を追加します。トピックには「地図を表示」ボタンが表示され、クリックすると正しい位置にマーカーが表示されます。
  3. カテゴリ内に2番目の新しいトピックを作成しますが、位置情報は追加しません。トピックには「地図を表示」ボタンが表示されますが、クリックしてもマーカーはなく、空白の地図が表示されます。
  4. 3番目のトピックを位置情報なしで作成しましたが、(3)と同じ結果になりました。
  5. 最初のトピックから位置情報を削除しました。他のトピックには引き続き「地図を表示」ボタン/空白の地図が表示されていました。
  6. 最初のトピックから位置情報を削除した状態で、4番目のトピックを作成しました。位置情報は追加しませんでしたが、4番目のトピックにも「地図を表示」ボタンがあり、空白の地図が表示されました。
  7. 別の位置情報が有効なカテゴリで、位置情報を定義せずに新しいトピックを追加しました。このトピックにも「地図を表示」ボタンがあり、空白の地図が表示されました。
  8. 別の位置情報が無効なカテゴリ(位置情報の設定はオフ)で、新しいトピックを作成しました。位置情報を追加するオプションはありませんでしたが、トピックを保存した後、「地図を表示」ボタンが表示され、空白の地図が表示されました。このトピックは位置情報が無効なカテゴリにあるため、位置情報を削除するように編集する方法がありません。

まるで、粘着性のトピック位置マーカーが私にくっついているようです!再現できることを願っています。

「いいね!」 1

時間があるときに確認します。

他の誰かがこれを再現できるかどうかも知りたいです…

「いいね!」 1

再現できませんでした。最初のトピックには場所があります。

こちらは場所がない2番目のトピックです。

私のユーザーには場所が関連付けられています(これは独立したものです)。

これは開発インスタンスで、本番環境でも確認しました。

tests-passed を使用していますか?

最初の場所をどのように作成したか、詳細に説明していただけますか?

このウェブサイトのブラウザキャッシュをクリアすると、問題を再現できますか?

私の知る限り、デフォルトから変更したことがないので、tests-passedの状態です。

私のユーザーには場所が関連付けられていましたが、何らかの影響があるか確認するために削除しました。前の投稿(および以下)で文書化されたすべてのテストは、ユーザーの場所が設定されていない状態で行われました。

設定されていた場合、ユーザーの場所はより正確な場所を取得するために緯度/経度で設定されていましたが、トピックのテストは、「Layton, Blackpool」という都市、空白の州、「United Kingdom」で場所を見つけることで設定されるか、またはおおよその緯度/経度座標(おそらく53.5N 3.01W、緯度を打ち間違えたのでLittle Crosbyの近くのどこかだと思います!)で設定されていました。表示された場合、場所は以前定義されたより正確な場所ではなく、明らかにトピックの場所を表示していました。

Discourseサブドメインのキャッシュ、Cookie、サイトデータをクリアし、再度ログインしましたが、トピックを作成するとマップは空白のままです。次に、これまでDiscourseインスタンスにアクセスしたことがないと思われる別のブラウザを試しましたが、それでも新しいトピックは「マップを表示」ボタンと空白のマップで作成されました。

次に、新しいアカウントを作成し、ユーザーの場所を設定しませんでした。場所を設定したトピックを作成したところ、期待どおりに機能しました(マーカー付きのマップ)。その後、保存された場所を取得しなかった2番目のトピックを作成しました。これは、あなたが見ていることを再現しています。

次に、2番目の新しいユーザーを作成し、プロファイルにユーザーの場所を追加しました。新しいトピックを作成したとき、トピックの場所はデフォルトでユーザーの場所になりました(これは意図された動作ですか?)。トピックの場所は正しく保存されました。その後、2番目のトピックを作成し、デフォルトの場所のXをクリックしたところ、トピックは場所なしで保存されました。

したがって、私のアカウントに何か奇妙なことが起こったようです。昼食後、リセットする方法を見つけるためにさらに調査します。

「いいね!」 1

それは非常に奇妙です。Railsコンソールにアクセスできる場合は、以下も確認していただけますでしょうか。

TopicCustomField.last(10)

バックエンドで問題が発生しているトピックの場所を確認してください。

「いいね!」 1

マップボタンは表示されるものの、マップ上にマーカーが表示されないトピックです。トピックには位置情報があるものの、その位置情報が「null」(またはそれに相当するもの)であることを示していると推測しますか?

#<TopicCustomField:0x00007fae3f9838f8
  id: 62821,
  topic_id: 71985,
  name: "location",
  value: "{\"geo_location\":\"{}\"}",
  created_at: Thu, 20 Jul 2023 09:55:11.188231000 UTC +00:00,
  updated_at: Thu, 20 Jul 2023 09:55:11.188231000 UTC +00:00>,
#<TopicCustomField:0x00007fae3f983b78
  id: 62821,
  topic_id: 71985,
  name: "has_geo_location",
  value: "t",
  created_at: Thu, 20 Jul 2023 09:55:11.188676000 UTC +00:00,
  updated_at: Thu, 20 Jul 2023 09:55:11.188676000 UTC +00:00>,

編集:さらに調べてみたところ… user_custom_fields で私のアカウントには geo_location = “{}” が設定されています。

便利ですね。ありがとうございます。

PCから離れていますが、そのトピックに場所を追加してからクリアボタンを押すことはできますか?

場所を追加してから場所をクリアすると、「地図を表示」ボタンと空白の地図が削除されます。トピックカスタムフィールドをクリアすると…

 #<TopicCustomField:0x00007fe540801600>
  id: 62834,
  topic_id: 71985,
  name: "has_geo_location",
  value: "f",
  created_at: Thu, 20 Jul 2023 14:48:16.645528000 UTC +00:00,
  updated_at: Thu, 20 Jul 2023 14:48:16.645528000 UTC +00:00>,
 #<TopicCustomField:0x00007fe5393c3d60>
  id: 62835,
  topic_id: 71985,
  name: "location",
  value: "{}",
  created_at: Thu, 20 Jul 2023 14:48:16.645876000 UTC +00:00,
  updated_at: Thu, 20 Jul 2023 14:48:16.645876000 UTC +00:00>]
「いいね!」 1

とりあえず、それが回避策です。

再現できれば、修正しやすくなります。

引き続き発生する場合は、お知らせください。

「いいね!」 1

影響を受けるトピックからボタンが削除されますが、私が作成する新しい投稿には、空白のマップ(nullの場所)のボタンが引き続き表示されます。

お気軽にPMで場所の設定全体をお送りください

ふと思ったのですが…位置情報の設定をもう一度見ていたところ、「location topic default」が「user」に設定されていました。これを「none」に変更したところ、位置情報なしでトピックを作成できるようになりました。また、必要であれば位置情報を追加することもできます。なぜこの設定を見落としていたのか分かりません。

「user」に設定されている場合、コードはユーザーが geo_location カスタムフィールドを持っているかどうかを確認するのでしょうか?ユーザーが一度も位置情報を設定したことがない場合、カスタム値はなく何も起こりませんが、フィールドが見つかった場合はトピックに追加されます。位置情報を設定してから削除した場合、geo_location フィールドは存在しますが、null に設定されています。この null 値がトピックに適用され、ボタンは表示されるもののマップは空白になります。

null の位置情報を持つユーザーや、位置情報のないトピックが、ワールドマップに予期しない動作を引き起こしているのではないでしょうか? null の位置情報値が表示されることを期待していないため、ワールドマップがおかしくなっているのかもしれません。おそらく null に設定されていたトピックからすべての位置情報を削除したところ、ワールドマップの動作が改善されました。例えば、今のところスクロールの問題はありません。

「いいね!」 1

こんにちは!

フォーラムをアップグレードしたばかりですが、Locations プラグインでいくつかのバグが発生しています。

ジオロケーション付きのディスカッション内のマップを見ると、マーカーが表示されない場合があります。ページを更新すると(Shift+Maj+R)、問題が解決するようです。

カテゴリ内の複数のマーカーが表示されるマップも、マーカーが表示されない場合があります。ページを更新すると(Shift+Maj+R)、マーカーがいくつか表示されますが、数百ではなく30個だけです。

カテゴリでフィルタリングされた異なるマップへの直接URLを切り替えても、マップは更新されません。前のカテゴリのマーカーが表示されます(上記の同じバグで、数百ではなく30個のマーカーしか表示されません)。

/mapすべての マーカーを表示できます(設定で指定された最大1700個のマーカーまで)。特定のカテゴリのマップを見ているときは機能していません。

すべて最新の状態です。その前の最後のアップデートは3か月前で、すべて問題ありませんでした:slight_smile:

参考になる場合は、フォーラムはこちらです: https://forum.agoramtl.com/

このプラグインでの作業に感謝します。

「いいね!」 1

レポートありがとうございます。時間のある時に確認します。これは断続的な非クリティカルな問題であり、無料のプラグインであるため、しばらくお待ちください。修正のためのPRを歓迎します。

「いいね!」 2

完全に理解しました :slight_smile: このプラグインでの作業に大変感謝しています。

関連があるかどうかわかりませんが、ログにこれらのエラーが表示されています。マップに関連しているようです。

ActionView::Template::Error (No route matches {:action=>"map_feed", :controller=>"list"})
app/views/list/list.erb:134
app/views/list/list.erb:132
lib/topic_list_responder.rb:15:in `block (2 levels) in respond_with_list'
lib/topic_list_responder.rb:8:in `respond_with_list'
app/controllers/list_controller.rb:110:in `block (2 levels) in <class:ListController>'
app/controllers/application_controller.rb:420:in `block in with_resolved_locale'
app/controllers/application_controller.rb:420:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/middleware/content_security_policy.rb:12:in `call'
lib/middleware/anonymous_cache.rb:387:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/008-rack-cors.rb:24:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

編集:はい、マップにアクセスするとこのメッセージが表示され、フォーラムでエラーが発生しています。

「いいね!」 1

それは有用な情報ですね、ありがとうございます。

「いいね!」 2

このポリシーはまだ有効ですか?

「いいね!」 1

いいえ。これは無料のプラグインですので、互換性に関する保証はもうありません。弊社は最善を尽くし、コミュニティがより貢献し始めることを期待しています。

とはいえ、互換性は以下の場所で追跡・ダッシュボード化されています。

https://coop.pavilion.tech/plugins?branch=tests-passed

したがって、アップグレードする前にそちらをご確認ください。しばらくの間、テストケースを追加することに特に力を入れてきました。

実際には、大きな問題はかなり早く対処されるでしょう。

「いいね!」 2

それは知っておくと良いですね、ありがとうございます!