هل هناك طريقة لإخفاء عمود Seen؟

Some of my users dont like this option:

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

Per user, no we do not have this option, you can suppress it globally via CSS.

3 إعجابات

If hiding it for all users in an option, this would be the CSS to globally suppress the “last seen” user profile stat:

// Hide the "Last Seen" section of the user profile
.user-main .about .secondary dl div:nth-child(3) {
    display: none;
}
5 إعجابات

Hi! I am working on a Discourse instance that wants to invite people from various backgrounds and wants to provide a safe, secure and trusting environment.
I am wondering if in the future you would consider having a setting to globally turn off the Seen information (in group lists and anywhere else)? We would like to give a promise to our users that no other user can see when they were last online (i.e. the information is also not accessible when inspecting the html).

If the answer is no, I wonder if you can give advice for how to go about what I mentioned above? I am still quite new to this, so I would like to know if it’s best to hire someone to edit the source code or would a plugin or a component work?

Thank you very much!

I’m not sure about your actual question but this discussion relates to your issue:

It documents the setting that hides the user card:
hide_user_profiles_from_public

3 إعجابات

Thank you for your comment!
We already hide the user cards, I think that’s a good feature.
However, I am concerned that in the future people in my community will want to hide the “seen” information even from logged in users. So, I just wanted to check what our options are if that time comes.

إعجابَين (2)

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

هل هناك أي إعدادات جديدة للتحكم في هذا؟ هل يجب علينا فتح طلب ميزة؟

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

هل من الممكن إضافة فئات CSS للسماح بإخفاء آخر وقت مشاهدة لمستخدمين محددين؟

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

لا ينبغي لأحد أن يتوقع من أي شخص أن يفعل أي شيء بمجرد وجوده. إنها حياتك ولديك واجباتك. لذلك أعتقد أنه سيكون من المفيد وضع حدود، على سبيل المثال عن طريق كتابتها في ملفك الشخصي. مثل “أنا شخص مشغول وأرد عليك في غضون أسبوع”. أو “يرجى توقع مني فقط الإجابة على الأسئلة المتعلقة بـ X و Y، أما الباقي فانتظر المجتمع”.

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

الأمر أكثر تعقيدًا من ذلك، لكنني غير قادر على الشرح بالتفصيل. يمكن أن يكون الضغط هائلاً.

3 إعجابات

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

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

غير ممكن باستخدام CSS فقط، لا يمكن لأي مسار عقدة استخدام اسم المستخدم الخاص بك لاستهداف عناصر “آخر ظهور”.

باستخدام جافاسكريبت، يجب أن يعمل هذا:

<script type="text/discourse-plugin" version="1.4.0">
  function hideLastSeen() {
    if (location.pathname.startsWith("/u/j127")) {
      document.querySelectorAll(".last-seen-at").forEach(el => el.remove());
    }
  }

  api.onPageChange(hideLastSeen);

  document.addEventListener("DOMContentLoaded", hideLastSeen);
</script>

بإذن من


للقراء المستقبليين، انظروا إلى النص البرمجي الأفضل أدناه الذي يمنع الاستهداف الخاطئ للمستخدمين (لتجنب استهداف مستخدم اسمه “johndoe” إذا كنت تستخدم “.startsWith("/u/john")”).

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

هل سيتوقف هذا عن العمل مع تمكين الوضع الآمن؟

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

نعم. يمكن للمسؤول تعطيل الوضع الآمن لغير الموظفين إذا لزم الأمر :slight_smile:

إعجابَين (2)

ولكن يمكن للمستخدم الفضولي أن يقرأ المعلومات من استجابة JSON، أليس كذلك؟

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

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

إعجابَين (2)

شكراً، هذا يعمل.

تعديل: لقد قمت بتغييره إلى هذا لجعله غير حساس لحالة الأحرف:

<script type="text/discourse-plugin" version="1.4.0">
    function shouldHideLastSeen() {
        const p = location.pathname.toLowerCase();
        return p === "/u/username" || p.startsWith("/u/username/");
    }

    function hideLastSeen() {
        if (shouldHideLastSeen()) {
            document.querySelectorAll(".last-seen-at").forEach(el => el.remove());
        }
    }

    api.onPageChange(hideLastSeen);
    document.addEventListener("DOMContentLoaded", hideLastSeen);
</script>
إعجاب واحد (1)