خطأ ”fa-user يجب تحديثه إلى user" عندما يقوم بوت بالمسح

أحصل على خطأ كثيرًا: تم إزالة اسم الأيقونة "fa-user" ويجب تحديثها إلى "user" عندما يقوم بوت بجمع المحتوى، بغض النظر عما إذا كان يستخدم GET للوصول إلى موضوع أو وسم أو مستخدم أو ./well-known… إلخ. هذا الخطأ يأتي من البوتات فقط، وليس من المستخدمين الحقيقيين أبدًا.

إليك مثال واحد:

hostname foorumi-hel-web-only
process_id 1173
application_version f0057c7353b8c81e5c315f51d1be06c8e22e4731
HTTP_HOST foorumi.katiska.eu
REQUEST_URI /.well-known/traffic-advice
REQUEST_METHOD GET
HTTP_USER_AGENT lwp-request/6.61 libwww-perl/6.61
HTTP_X_FORWARDED_FOR 138.197.182.164
HTTP_X_REAL_IP 138.197.182.164
time 10:04 am
backtrace
Message (26 copies reported)

Missing icon error: The icon name "fa-user" has been removed and should be updated to "user" in your code. More info at https://meta.discourse.org/t/325349.

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `block in error'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:134:in `error'
/var/www/discourse/lib/deprecated_icon_handler.rb:693:in `convert_icon'
/var/www/discourse/lib/svg_sprite.rb:533:in `process'
/var/www/discourse/lib/svg_sprite.rb:437:in `search'
/var/www/discourse/lib/svg_sprite.rb:452:in `block in raw_svg'
/var/www/discourse/lib/distributed_cache.rb:20:in `defer_get_set'
/var/www/discourse/lib/svg_sprite.rb:537:in `get_set_cache'
/var/www/discourse/lib/svg_sprite.rb:451:in `raw_svg'
/var/www/discourse/plugins/discourse-geo-blocking/app/views/exceptions/not_found.html.erb:5:in `_plugins_discourse_geo_blocking_app_views_exceptions_not_found_html_erb___1317140915584559193_287120'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/base.rb:281:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/base.rb:281:in `_run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/template.rb:285:in `block in render'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/notifications.rb:212:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/template.rb:584:in `instrument_render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/template.rb:273:in `render'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/template_renderer.rb:66:in `block (2 levels) in render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/notifications.rb:212:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/template_renderer.rb:60:in `block in render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/template_renderer.rb:76:in `block in render_with_layout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/notifications.rb:210:in `block in instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/notifications.rb:210:in `instrument'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/template_renderer.rb:75:in `render_with_layout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/template_renderer.rb:59:in `render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/template_renderer.rb:11:in `render'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/renderer.rb:58:in `render_template_to_object'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/renderer/renderer.rb:31:in `render_to_object'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/rendering.rb:135:in `block in _render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/base.rb:308:in `in_rendering_context'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/rendering.rb:134:in `_render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_controller/metal/streaming.rb:258:in `_render_template'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.2.1/lib/action_view/rendering.rb:121:in `render_to_body'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_controller/metal/rendering.rb:186:in `render_to_body'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_controller/metal/renderers.rb:142:in `render_to_body'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/abstract_controller/rendering.rb:47:in `render_to_string'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_controller/metal/rendering.rb:175:in `render_to_string'
/var/www/discourse/app/controllers/application_controller.rb:894:in `build_not_found_page'
/var/www/discourse/app/controllers/application_controller.rb:347:in `block in rescue_discourse_actions'
/var/www/discourse/app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:427:in `with_resolved_locale'
/var/www/discourse/app/controllers/application_controller.rb:345:in `rescue_discourse_actions'
/var/www/discourse/plugins/discourse-geo-blocking/plugin.rb:27:in `rescue_discourse_actions'
/var/www/discourse/app/controllers/application_controller.rb:159:in `block in <class:ApplicationController>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/rescuable.rb:116:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/rescuable.rb:116:in `block in handler_for_rescue'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/rescuable.rb:94:in `rescue_with_handler'
/var/www/discourse/lib/middleware/discourse_public_exceptions.rb:67:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:55:in `render_exception'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:41:in `rescue in call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/logster-2.20.1/lib/logster/middleware/reporter.rb:40:in `call'
/var/www/discourse/lib/middleware/default_headers.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/rack/logger.rb:41:in `call_app'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/rack/logger.rb:29:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/request_id.rb:33:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-2.2.13/lib/rack/method_override.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-2.2.13/lib/rack/sendfile.rb:110:in `call'
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:385:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/engine.rb:535:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/railtie.rb:226:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.2.2.1/lib/rails/railtie.rb:226:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-2.2.13/lib/rack/urlmap.rb:74:in `block in call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-2.2.13/lib/rack/urlmap.rb:58:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-2.2.13/lib/rack/urlmap.rb:58:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

Env

HTTP HOSTS: foorumi.katiska.eu

لقد جربت طلب GET من خادم VPS آخر ولم يظهر هذا الخطأ، ربما لأنني لم أحدد أي وكيل مستخدم (user agent)؟

الشيء الوحيد الذي وجدته مرتبطًا بطلب GET وبأيقونة المستخدم هو زر تسجيل الدخول (login-button)، لكن لا يمكن أن يكون هو السبب، أليس كذلك؟

حاولت معرفة متى بدأ هذا الأمر، ويبدو أنه بدأ في 29 مارس، ويزداد سوءًا كل يوم.

أنا أستخدم إصدارًا حديثًا نسبيًا من Discourse، قمت بالترقية يوم الاثنين، أعتقد.

أي أفكار؟ بالتأكيد، قد يكون الخطأ قادمًا من إضافة أو سمة/مكون، لكن كيف يمكنني العثور عليه؟

(أستخدم bug لأنني أحصل على أخطاء من شيء لم يحدث من قبل)

تعديل

لقد راجعت ما قمت به في 29 مارس، وفي ذلك الوقت انتقلت من مكون “أيقونات التصنيفات” (Category Icons) إلى النظام الجديد.

أعتقد أن هذا يحدث بسبب المكون الإضافي لحظر الموقع الجغرافي

لقد نقلت هذا إلى الدعم، لأنه أسهل طريقة لإغلاق هذا :smirking_face:

بالتأكيد، يمكنني الإبلاغ عن هذا الموضوع وطلب نقله تحت موضوع هذا المكون الإضافي، ولكن… حسنًا، لم أفعل :man_facepalming: