We updated our trust_levels unlocking them all and we see that users stills having old icons titles.
I friendly suggest to disabling users to use trust_levels badges unless their have the required trust_level to display them.
I think Badges needs to be dynamic because trust_level system is dynamic.
That simple modification will solve the problem we are facing, and probably more admins because it’s very common that users ‘loose’ their TL over time.
By icon, do you mean flairs? What do you mean by “not groups”?
Could you share screenshots?
If I set a user to trust_level_3, which is a group having a flair icon, and the user profile flair is set to none, it automatically sets the tryst_level_3 icon nonetheless:
The status quo doesn’t make sense to me, as I only want the current trust level to be apparent in a badge collection. Ideally I’d like it to be the most obvious badge on the user card too (i.e. always displayed in the same prominent location), but not as in-your-face as an avatar flair.
I’ve achieved close to this by replacing the default trust badges with some custom ones that use SQL and revert automatically. Can share them if you like.
I’m sorry, but I’m still not understanding. You started with “We updated our trust_levels unlocking them all” — doesn’t that, by simple definition, mean that all users have reached TL4, the top trust level?
We had TL3 locked. So when we unlocked trust_levels the majority went down (used Discord because people asked for it so almost no interaction on Discourse from a while).
That could be a really good workaround. Please share it if you want!
Some things happen as a result of regular background jobs. You might need to wait a day for changes in trust level to be reflected in the accounts.
With the default setup, people will enter and leave TL3. So it’s normal for a person to join the group and get the badge, and then later to leave the group and lose the badge - I think.
That is, the highest level achieved would be TL3, but if you lost TL3 because you became disengaged, you would normally lose all the signifiers that you ever had TL3. I think.
정확합니다. ‘공식’ 배지에는 SQL이 표시되며, 그것이 바로 해당 배지가 수행하는 역할입니다. 또한, ‘낮은’ 신뢰 수준 배지들은 의도적으로 남아 있도록 설정되어 있습니다.
예를 들어, TL3에 대한 SQL은 다음과 같습니다:
SELECT u.id user_id, current_timestamp granted_at FROM users u
WHERE trust_level >= 3 AND (
:backfill OR u.id IN (:user_ids)
)
‘공식’ 배지의 SQL을 수정할 수 없으므로, 제 우회 방법은 각 공식 배지를 단순히 복제하고 >=를 =로 변경하는 것이었습니다. 이를 통해 (최소한 기존 배지가 야간 처리로 철회된 후) 하나의 배지만이 부여되도록 보장합니다.
이것이 실제 문제일 수 있다는 점을 이제 이해했습니다. 즉, 사용자들이 신뢰 수준(그리고 일일 SQL 검사에서 철회된 배지)을 잃은 후에도 제목(Titles)이 여전히 남아 있다는 것입니다. 이를 재현하기 위해 자세히 살펴보지는 않았지만, 해당 배지들에 대해 “배지를 제목으로 사용 허용” 체크박스를 해제해 보셨나요?
They are - it just isn’t instant (revokation only works overnight)
And if they aren’t disappearing for you at all then you might need to get into the rails console.
You might well need to do that to mop up any stray Titles out there too. Shouldn’t be too hard to identify them nor delete the content of the Title field for them.
I’d certainly prefer if the stock Badge queries were set up to revoke superceded badges (as per the SQL tweak above), but that is up to the Discourse @team of course.