الاقتباس معطل عندما يتطابق الاسم مع اسم المستخدم

متابعة من Configuring Twitter login and rich embeds for Discourse - #114 by Hifihedgehog

وصلني بريد إلكتروني حول هذا الأمر وكنت مرتبكًا جدًا لأنني لم أتذكر أنني نشرت شيئًا كهذا.

أنا فضولي لمعرفة كيف تم تبديل “taylor” هنا في الرد المقتبس؟ هل هذا خطأ في التحرير اليدوي (لست متأكدًا من كيفية إنشاء كتلة اقتباس مع مصدر يدويًا، أو ما إذا كان ذلك ممكنًا). أم أن هناك خطأ ما في منطق الرد؟ @tshenry

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

لقد جربت للتو اقتباس بعض المشاركات، وأعتقد أن هناك شيئًا غريبًا يحدث مع اسم المستخدم مقابل الاسم الكامل. ربما هذا الالتزام الأخير:

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

مرحباً @JammyDodger،

هل يمكنك تزويدي بمزيد من المعلومات حول

مع إعدادات الموقع prioritize username in ux مُفعّلة و display name on posts مُعطّلة، يجب أن ترى اسم المستخدم في الاقتباس، والعكس صحيح لرؤية الاسم الكامل.

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

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

مشاركة @Hifihedgehog:

[quote=", post:114, topic:13395"]أنت على حق! استغرق الأمر بضع دقائق فقط وتمت الموافقة علي على الفور. الإصلاحات البسيطة لطيفة دائمًا! :smile:
[/quote]

مشاركة @tshenry:

[quote="Taylor, post:113, topic:13395"]يمكنك الوصول إلى واجهة برمجة التطبيقات v1.1 مجانًا بموجب الخطة المرتفعة. تحتاج ببساطة إلى التقديم من لوحة تحكم المطور الخاصة بك. لقد وجدت أنها سريعة وسهلة للغاية. عملت تسجيلات الدخول إلى تويتر في Discourse بشكل لا تشوبه شائبة بعد ذلك :tada:
[/quote]

(هذا هو أسلوب حصل @taylor على إشعار بشأنه)

4 إعجابات

آه، شكرًا لتنبيهي بهذا الأمر… نعم، هذا غير مرغوب فيه / غير مقصود. سأبحث في هذا الأمر!

3 إعجابات

إذًا السبب في أن @taylor تم الإشارة إليه في هذه الاقتباس (وتلقى بريدًا إلكترونيًا) هو أن اسم المستخدم الخاص به - Taylor هو نفس الاسم الكامل لـ @tshenry - Taylor :open_mouth: والذي (الاسم الكامل) يتم إعطاؤه الأولوية بشكل صحيح في الاقتباسات بسبب التغييرات التي تمت إضافتها في DEV: Prioritize full name when setting active (#15820) · discourse/discourse@5a93ce4 · GitHub.

على أي حال، شكرًا على النصيحة، سأقوم بإصلاح هذا!

9 إعجابات

على أي حال، فإنه يترك أيضًا الاقتباسات بدون أسماء كاملة فارغة:

[quote=“, post:114, topic:13395”]صحيح! استغرق الأمر بضع دقائق وتمت الموافقة عليّ على الفور. الإصلاحات البسيطة لطيفة دائمًا! :smile:
[/quote]

4 إعجابات

هل نحن على ما يرام الآن يا @isaac؟

نعم، لقد تراجعنا عن التغيير، وأنا أعمل على إصلاح المنطق قبل الدمج مرة أخرى

3 إعجابات

في تحديث منطق الاقتباس للسماح لنا بالتبديل بين اسم المستخدم أو الاسم الكامل عبر إعداد موقع، واجهت مشكلة (تم ملاحظة جزء من المشكلة أعلاه)، دعني أنشئ سيناريو افتراضي…

  • تيم ينشئ منشورًا
  • تمت إضافة إعداد موقع وتفعيله لتبديل اسم العرض الخاص بمنشئ المنشور الأصلي ليكون اسم المستخدم (كان نشطًا) أو الاسم الكامل (نشط الآن)
  • يقوم مستخدم باقتباس تيم في منشور جديد، ولكن نظرًا لأننا نستخدم الآن الاسم الكامل للاقتباسات، فإن المستخدم الآخر لدينا TimTam، الاسم الكامل: تيم، يتم إعلامه بأن شخصًا ما اقتبسه في منشور لم ينشئه أبدًا.

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

الخيار الذي أرى أننا سنسلكه هو إضافة سمة بيانات إضافية للاقتباس data-full-name="true" (أو شيء من هذا القبيل) للتحقق مما إذا كان يجب علينا استبدال اسم المستخدم بالاسم الكامل في تجربة المستخدم، بدلاً من معالجة data-username.

مثال.

data-username="always.users.username" data-post="1" data-topic="1" data-full-name="true"

وتوفير عناء القلق بشأن ما إذا كنا نستعلم أو نرسل إشعارات باسم المستخدم أو الاسم الكامل. أفكار؟ هل هذا يستحق الجهد لتحديث PrettyText ومنشئ الاقتباس الخاص بنا لهذا التغيير؟

5 إعجابات

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

إذا اقتبستك مع إعطاء الأولوية لاسم المستخدم، فسنعرض هذا الماركداون

[quote="isaacjanzen, post:12, topic:217633"]
Thoughts?
[/quote]

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

[quote="Isaac Janzen, post:12, topic:217633"]
Thoughts?
[/quote]

يجب توخي الحذر مع الفواصل (,) في الأسماء الكاملة - ولكنني أدعم إزالتها لهذا الاستخدام أو يمكنني القول إنك قد تقدم حيلة هروب.

4 إعجابات

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

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

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

يجب أن تكون العلامة هنا:

[quote="Isaac Janzen, post:14, topic:217633"]
هل تقول إنك توصي بالتخلي عن محاولة إضافة القدرة على عرض الاقتباسات بالأسماء الكاملة؟
[/quote]

التغيير الوحيد المطلوب هو جعل أداة الاقتباس على دراية بالإعداد بحيث تملأ الاسم الكامل بدلاً من اسم المستخدم. لا تقلق بشأن الترحيل والسجل.

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

لست متأكدًا من أننا على نفس الصفحة هنا… عندما قمنا بدمج DEV: Prioritize full name when setting active (#15820) · discourse/discourse@5a93ce4 · GitHub حققنا

  # quote.js
  # opts.displayName = true if site settings prioritize full name
  const name = opts.displayName
    ? opts.name || post.name
    : opts.username || post.username;

  # build quote markdown
  const params = [
    name,
    `post:${opts.post || post.post_number}`,
    `topic:${opts.topic || post.topic_id}`,
  ];

للحصول على ناتج

ولكن المشكلة كانت أن البحث عن المستخدم بناءً على الاسم الكامل كان يكسر الاقتباسات الموجودة التي تم إنشاؤها باسم المستخدم.

لذلك يبدو أنه من المستحيل تجاهل

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

أنا مرتبك للغاية لأن ميتا لديها:

إذًا لماذا الاسم مفقود من الاقتباس أعلاه؟ هل تم التراجع عن التغيير؟

أتفق على أننا بحاجة إلى فعل المزيد هنا:

نحن بحاجة إلى الحصول على اسم المستخدم من تركيبة “post / topic” ووضعه في علامة Markdown المطبوخة (يجب علينا القيام بذلك بشكل غير مشروط)، وإلا فلن نتمكن من عرض الصور الرمزية للاسم الكامل.

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

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

آه، نعم

أتفق، ويمكنني إضافة هذا.

إعجابَين (2)

أنا منفتح تمامًا على معالجة بعض الحالات الطرفية أثناء وجودي هنا:

  1. عدم تطابق اسم المستخدم
    • ماذا نفعل بشأن الصورة الرمزية؟
    • ماذا نفعل بشأن اسم المستخدم؟
  2. عدم تطابق الاسم الكامل
    • ماذا نفعل بشأن الصورة الرمزية؟
    • ماذا نفعل بشأن الاسم؟

أعتقد أن أفضل شيء يمكن فعله في الوقت الحالي هو “تجاوز”. إذا كان المنشور يحتوي على اسم / اسم مستخدم، فاستخدمه بدلاً من الاسم الذي تم تقديمه في الاقتباس. قم بتطبيق الاسم الحالي / اسم المستخدم الحالي.

3 إعجابات

حسناً، لدي PR يوضح الأمور.

النقاط الرئيسية

نحن الآن نمرر اسم المستخدم عندما

siteSettings.display_name_on_posts && !siteSettings.prioritize_username_in_ux && post.name

بالإضافة إلى الاسم الكامل لضمان عدم حدوث أي عدم تطابق عند الاستعلام عن المستخدم / الصورة الرمزية.

مثال.

[quote="Isaac Janzen, post:3, topic:7, full:true, username:isaac.janzen"]
bing bong
[/quote]

ما رأيك @sam؟

3 إعجابات

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

هل يمكنك التأكيد على أن بناء الجملة المطول الجديد يحدث فقط إذا كان كل من siteSettings.display_name_on_posts و !siteSettings.prioritize_username_in_ux؟

[quote="Isaac Janzen, post:3, topic:7, username:isaac.janzen"]
....
[/quote]

مما يعني أنه إذا لم تقم بتمكين كل من display_name_on_posts و تعطيل prioritize_username_in_ux

فإن تنسيق الاقتباس القديم يجب أن يظل:

[quote="isaac.janzen, post:3, topic:7"]
....
[/quote]

أنا على استعداد لقبول هذا كخطوة وسيطة في الوقت الحالي، ولكن هدفنا طويل الأجل سيكون إزالة هذه الضوضاء من كتلة الاقتباس (تشديد الأمن، وتقييد الإساءة) ودعم تنسيق الاقتباس المختصر الذي كان لدينا دائمًا، والعمل من خلال علبة ثعابين الأمان، تمامًا كما أُجبرنا الآن على الاقتباسات المضمنة أحادية الكتلة على سبيل المثال: Quoting broken when name matches username - #20 by isaachttps://meta.discourse.org/t/quoting-broken-when-name-matches-username/217633/20?u=sam

أذكر @tobiaseigen هنا لزيادة الرؤية لأن هذا يتعلق بالمناقشات السابقة.

خلاصة القول:

  • في رأيي، لا بأس بتغيير تنسيق ماركداون في الوقت الحالي لهذه الحالة الاستثنائية - وهذه الحالة الاستثنائية فقط - @codinghorror للتأكيد.
  • سيتم تحديد جدول زمني لعمل الأمن بحيث تصبح كتلة الاقتباس [quote="TOTALLY OPTIONAL WILL BE FISHED FROM POST IF SECURITY LINES UP AND INFO ON POST IS PRIORITIZED OVER THIS TEXT, post:3, topic:7"]. - نوصي بالانتظار لفترة على هذا.
3 إعجابات

تم الدمج والنشر DEV: Prioritize full name when display_name_on_posts active by janzenisaac · Pull Request #16078 · discourse/discourse · GitHub

أستطيع التأكيد.

3 إعجابات