I had two topics pinned globally when I tried to pin 3rd topic but it doesn’t show the option to pin globally. I thought maybe 2 was the max, so I unpinned one of the pinned topics but still, I didn’t get the globally pinning option for any topic, not even for the one I just unpinned globally.
Any idea what might be happening?
Thanks for confirming. I started seeing this issue just recently. Before it was working fine.
Hi, We have the exact same problem (with the latest beta version and can reproduce it in safe-mode), no option for global pinning anymore.
Bug?
1 « J'aime »
sam
(Sam Saffron)
Mars 16, 2021, 6:22
7
Oh @jamie.wilson I think this is your change, some staff may be TL1/2/3, we should have a staff check here not a trust level check.
Workaround, set your staff to TL4, they will be allowed to pin.
https://github.com/discourse/discourse/blob/0476ea00ccadc2d45550f4d7be9db4971f4eaea9/app/assets/javascripts/discourse/app/controllers/feature-topic.js#L50-L53
7 « J'aime »
Dear Sam Sir,
Issue Resolved thanks
Thanks for quick support !
1 « J'aime »
Yes please.
Thanks for the workaround, now it works.
1 « J'aime »
@sam one of our users (TL3) has mentioned he can no longer pin topics of his choice on top of the categories as he used to.
Could this be related? Is it some new setting we have to change? I don’t want to assign TL4 to this user so he is able to do this.
sam
(Sam Saffron)
Mars 17, 2021, 3:47
11
Pin globally is certainly only a tl4/staff thing
Not something category moderators should be allowed to do, it has site wide implications
Pin within categories seems fine for category moderators
6 « J'aime »
eviltrout
(Robin Ward)
Mars 17, 2021, 8:52
12
It’s super weird to me that staff would be a low trust level, but we should fix this. @jamie.wilson can you return true if staff too?
4 « J'aime »
This was my error - I should have always been using canManageTopic
:
isElder: equal("trust_level", 4),
canManageTopic: or("staff", "isElder"),
The test for the change that introduced this bug included:
needs.user({ admin: true });
As I understand it, needs.user
returns the eviltrout
user which has a bunch of elevated permissions by default.
trust_level: 4,
moderator: true,
admin: true,
Having a trust_level of 4 meant isElder
was true.
Assuming my understanding of how it works is true, would it make sense for our tests to return a ‘normal’ user by default?
2 « J'aime »
https://github.com/discourse/discourse/pull/12435
A fix for staff not being able to pin/unpin topics has been merged in.
4 « J'aime »