إضافة المواقع 🌍

أردت فقط طرح هذا مرة أخرى كطلب ميزة.

نحن فقط نواجه هذا في مجتمعنا عند التخطيط لحدث. يستخدم الناس الآن خرائط جوجل لمعرفة مدى بعد موقع الحدث المقترح.

كما أنه مفيد عند التحقق من مدى بعد المستخدم الآخر. (ندير منتدى للغوص ويبحث الناس عن رفاق الغوص في منتدانا.)

3 إعجابات

@Roi، قد تكون مهتمًا بهذا:

مع هذا الإصدار، نقدم (تجريبيًا) البحث باللغة الطبيعية عن مواقع المستخدمين باستخدام Discourse Chatbot :robot:، حتى تتمكن من طرح أسئلة مثل:

  • “سرد أقرب خمسة مستخدمين إلى موقعي” … (إذا قمت بتسجيل موقع) … أو حتى
  • “سرد جميع المستخدمين ضمن 500 كم من موقعي.”
  • “سرد المستخدمين ضمن 200 كم من برلين.”

لا يدعم مواقع المواضيع حتى الآن … ولكن هذا تم إنجازه بنسبة 2/3 وهو قيد الإعداد …

يوجد ترحيل بيانات في هذا الإصدار، لذا يرجى إخباري إذا واجه أي شخص أي مشاكل وسأحاول المساعدة.

8 إعجابات

أعلم أن هذا لا يزال قيد التقدم، لذا قد تكون على علم بهذه الأمور بالفعل…

  1. في بعض الأحيان عندما أفتح خريطة المستخدم، أحصل على خريطة فارغة، أي خريطة الدول معروضة ولكن لا يوجد مستخدمون عليها. إذا قمت بتحديث الصفحة، فستظهر المستخدمون المعروضون على الخريطة مرة أخرى. لم أجد طريقة مضمونة لتكرار ذلك، لكنني أرى الخريطة الفارغة بنسبة 50% على الأقل من المرات التي أفتح فيها خريطة المستخدم. يبدو أن الخريطة الفارغة تظهر فقط على خريطة المستخدم. لم أرها على خريطة الموضوع، على الأقل حتى الآن.

  2. يوجد مربع أبيض فارغ على يسار حقول الأزرار الاختيارية للاسم/اسم المستخدم/إلخ، على سبيل المثال:

صورة

إعجاب واحد (1)

١. نعم، الحل ليس مثاليًا. إنه ليس تركيزي في الوقت الحالي. تم قبول طلب السحب (PR).

٢. مقصود تمامًا: إنه مربع بحث.

إعجاب واحد (1)

آه! هكذا هو.

لقد وجدت شيئًا آخر. خريطة الموضوع الخاصة بي لا تحتوي على العديد من الإدخالات، ولكن في الولايات المتحدة لدي 3 مجمعة على الساحل الشرقي واثنتان مجمعة على الساحل الغربي. إذا نقرت على التجمع الساحلي الشرقي، فسيتم تكبيره لعرض مواقع الموضوعات الثلاثة الفردية. إذا نقرت على أي من تلك المواقع بدلاً من فتح الموضوع المرتبط بها، فسيتم تكبيرها لعرض موقعين على الساحل الغربي. هذا قابل للتكرار - جربه على موقعي https://discourse.weather-watch.com/map

إعجابَين (2)

مثير للاهتمام حقًا! الغريب أنها تعمل بشكل جيد على بياناتي. ألاحظ أيضًا على خريطتك وجود خطأ عند تمرير مؤشر الفأرة فوق مجموعة.

إصدار Leaflet قديم جدًا … قد يكون هناك مشكلة …

إعجاب واحد (1)

حسنًا، لقد قمت بدفع إصدار Leaflet والمكون الإضافي الشائع لتجميع العلامات الخاص به إلى أحدث إصدار، تحقق مما إذا كان ذلك يساعد:

يمكننا كسرها بشكل صحيح بأحدث رمز :sweat_smile:

(لا فائدة من مناقشة مثل هذه المشكلات إذا كنا نستخدم مكتبة قديمة، من يدري ما الذي قاموا بإصلاحه!).

3 إعجابات

شكرا على التحديث السريع. في اختبار أولي، أصبح الأداء أفضل الآن. لم أواجه القفزة الغريبة من الساحل الشرقي إلى الغربي في الاختبارين اللذين جربتهما. سأقوم بالمزيد من الاختبارات غدًا.

إعجابَين (2)

نعم، أستطيع أن أرى. رائع! شكراً لك على إعادة التحقق على الفور.

إعجابَين (2)

بعد المزيد من الاختبارات اليوم، يبدو أن التحديث الأخير قد أصلح الخريطة الفارغة عند الفتح لأول مرة والقفزة الغريبة من الساحل الشرقي إلى الغربي من المواقع المتجمعة :grinning:

4 إعجابات

شكرًا لك على لفت انتباهي إلى هذا، وأعتذر عن عدم تواجدي هنا لبضعة أيام للتعليق.

هذا يبدو واعدًا حقًا. :slight_smile: لكن في الوقت الحالي، ليس لدينا روبوت الدردشة بالذكاء الاصطناعي نشطًا في منتدانا. ما زلت أصارع لتخمين كم سيكلفنا الحصول على مفتاح واجهة برمجة تطبيقات من OpenAI. نظرًا لأننا ندير مجتمعنا بطريقة غير ربحية ولا نفرض رسومًا، فإننا بالكاد نغطي تكاليف الخادم والنطاق من التبرعات القليلة وأشياء أخرى من هذا القبيل. لذا فهذا موضوع مهم بالنسبة لنا. :wink:

[quote=“Robert, post:1, topic:256652, username:merefield”]يمكن العثور على أمثلة للحسابات في هذا المنشور:

https://meta.discourse.org/t/discourse-chatbot-supports-chatgpt/256652/67?u=marcp[/quote]

الرابط إلى الإجابة في المنشور الذي يحتوي على أمثلة الحسابات لم يعد يعمل. هل يمكنك إخباري أين أجده؟ :slight_smile:

وبعيدًا عن تكامل روبوت الدردشة بالذكاء الاصطناعي: هل تفكر في وضع معلومات المسافة في المكون الإضافي أيضًا؟ لذا، مجرد عرض المسافة من المستخدم الحالي المسجل دخوله إلى حدث أو إلى مستخدم آخر - إذا كان كلا الطرفين قد حددا موقعًا؟ كانت هذه هي الطريقة البسيطة التي تم التعامل بها في المكون الإضافي للموقع لـ phpBB الذي استخدمناه من قبل.

أخشى أن المنشور المتعلق بالتكلفة قد تم حذفه لأن الموضوع أصبح طويلاً بشكل سخيف. سأقوم بإزالة ذلك من المنشور الأصلي. (تم)

أقترح تجربته: للموظفين المصرح لهم فقط في البداية.

لا، لا أخطط لإتاحته في المكون الإضافي للمواقع بدون روبوت الدردشة.

لكل مستخدمي المجلدات الفرعية المخربين، تفضل @renato بتقديم طلب سحب (PR) للتأكد من أن العلامات تعمل في مثل هذا التكوين:

شكرًا جزيلاً @renato! :pray:

5 إعجابات

شكرا لك!
سؤال سريع:
كيف أقوم بتحديث هذا المكون الإضافي؟ run ./reset-all-repos يبدو محفوفًا بالمخاطر.
الهدف هو فقط تحديث هذا المكون الإضافي، وعدم فقدان بيانات المشاريع الـ 180 التي تم إدخالها بالفعل.

إعجاب واحد (1)

هذا ليس سؤالًا خاصًا بالمكون الإضافي حقًا، ولكن ستحتاج إلى تشغيل tests-passed والتحديث إلى أحدث إصدار للحصول على كل الأشياء الجديدة وهي تعمل.

إنه دائمًا محفوف بالمخاطر :sweat_smile: ، إلا إذا كنت تريد تشغيل تثبيت مستقر؟ (في هذه الحالة، هذا التحديث ليس ذا صلة بعد).

قد يعمل الترقية عبر الإنترنت (من /admin/upgrade) من أجلك، أو كالمعتاد، أعد البناء باستخدام ./launcher rebuild app - بافتراض أنك تقوم بتثبيت قياسي؟

لا يمكنني ضمان مستويات صيانة المكونات الإضافية الأخرى لديك، ولكن حظًا موفقًا! :sweat_smile:

إعجاب واحد (1)

واجهت نفس المشكلة.

لقد جربت الطريقة المذكورة هنا

لكنها لم تنجح. نظام Ubuntu، إعادة التشغيل لم تنجح،
./launcher restart app ، ./launcher start app لم تنجح.

رسالة الخطأ عند تشغيل ./launcher rebuild app

......
111:M 12 Dec 2023 12:11:02.199 * تم حفظ قاعدة البيانات على القرص
111:M 12 Dec 2023 12:11:02.200 # Redis جاهز الآن للخروج، إلى اللقاء...


فشل
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' فشل مع العودة #<Process::Status: pid 3553 exit 1>
مكان الفشل: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
فشل التنفيذ مع المعلمات {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
فشل التمهيد برمز الخروج 1
** فشل التمهيد ** يرجى التمرير لأعلى والبحث عن رسائل خطأ سابقة، قد يكون هناك أكثر من واحدة.

شكراً لـ @itsbhanusharma

يقول إنه ناتج عن خطأ سابق، أدرجها هنا

I, [2023-12-13T00:50:13.222274 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundl                e exec rake db:migrate'
2023-12-13 00:50:18.347 UTC [3597] discourse@discourse ERROR:  invalid input syntax for type double precision: ""

2023-12-13 00:50:18.347 UTC [3597] discourse@discourse STATEMENT:  INSERT INTO locations_topic                 (topic_id, latitude, longitude, name, street, district, city, state, postalcode, country, count                rycode, international_code, locationtype, boundingbox, updated_at, created_at) (
          SELECT
          tc.topic_id,
          (tc.value::json->'geo_location'->>'lat')::FLOAT,
          (tc.value::json->'geo_location'->>'lon')::FLOAT,
          tc.value::json->'geo_location'->>'name',
          tc.value::json->'geo_location'->>'street',
          tc.value::json->'geo_location'->>'district',
          tc.value::json->'geo_location'->>'city',
          tc.value::json->'geo_location'->>'state',
          tc.value::json->'geo_location'->>'postalcode',
          tc.value::json->'geo_location'->>'country',
          tc.value::json->'geo_location'->>'countrycode',
          tc.value::json->'geo_location'->>'international_code',
          tc.value::json->'geo_location'->>'type',
          ARRAY[
            (tc.value::json->'geo_location'->'boundingbox'->>0)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>1)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>2)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>3)::FLOAT
          ],
          tc.updated_at,
          tc.created_at
        FROM topic_custom_fields tc
        WHERE tc.name = 'location'
        AND tc.value NOT IN ('"{}"', '{}', '')
        AND tc.value::json->'geo_location'->>'lat' IS NOT NULL
        AND tc.value::json->'geo_location'->>'lon' IS NOT NULL
        )
        ON CONFLICT DO NOTHING

rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)

ERROR:  invalid input syntax for type double precision: ""
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'

#--------------
Caused by:
PG::InvalidTextRepresentation: ERROR:  invalid input syntax for type double precision: "" (PG:: InvalidTextRepresentation)
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:  110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'

ورسالة docker ps

/var/discourse# docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED             STATUS         PORTS                                                                      NAMES
d3c8e85149a8   local_discourse/app   \"/sbin/boot\"   About an hour ago   Up 6 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

خطأك ليس نفس خطأ OP. هل يمكنك تقديم السجل الكامل لإعادة البناء؟

شكراً لك يا بهانو، لقد أعدت عملية إعادة البناء، وقمت بإنشاء “الأخطاء السابقة” في المنشور السابق. هل يمكنك مساعدتي في فهم المشكلة وحلها؟

يبدو أن هناك مشكلة في إضافة المواقع، هل يمكنك محاولة إعادة البناء بدونها لمعرفة ما إذا كان ذلك سيحل مشكلة البناء؟

إعجاب واحد (1)

عظيم! لقد أعدت بناء النظام للتو، وهو يعمل.

بينما يجب أن أقول، المكون الإضافي للموقع جيد جدًا. لذا آمل أن يتم تصحيح الأخطاء النسبية.