fzngagan
(Faizaan Gagan)
March 2, 2021, 2:36pm
1
This theme component adds a post menu button for staff users to make a regular post a whisper or vice versa.
How to install
Get the code
This is useful especially for forums where a lot of conversations happen in whisper and a staff user ends up posting something and later wants to hide or show the post to non-staff users.
27 Likes
Nice! I remember this debate a few years ago. I have been burned by this so many times. The official response is:
Er, the cat is out of the bag once you post as a not-whisper. Going back and retconning posts into whispers via editing is not something I can support as a feature.
I am often scrambling to delete whispers before they get emailed out and too many people notice my mistake!
8 Likes
ondrej
March 2, 2021, 2:48pm
3
Brilliant component!
is this possible to just make it so it appears on staff posts?
3 Likes
fzngagan
(Faizaan Gagan)
March 3, 2021, 7:04am
5
I’ll take a look at this request soon.
p.s.
This is addressed now.
1 Like
Yes I think the same, it’s very easy to get wrong with whispers and this is one of the cases where simplicity has too be sacrified for peace of mind.
4 Likes
fzngagan
(Faizaan Gagan)
March 3, 2021, 7:57am
7
My question then is, does discourse behave differently in terms of email if the post is deleted vs when its post_type is changed?
ganncamp
(G Ann Campbell)
May 10, 2023, 1:09pm
8
We have this component installed, but the toggle no longer shows up.
Has it stopped working, or is it possible that we made some edit elsewhere (to our themes?) that inadvertently blocked it?
chapoi
(Charlie)
May 10, 2023, 1:12pm
9
It’s definitely still working on meta.
What does your setting here say:
1 Like
chapoi
(Charlie)
May 10, 2023, 1:17pm
17
Ah I misread the original issue, it’s not about the general whisper functionality, gotcha! @fzngagan is already on the case it seems
1 Like
Lhc_fl
(Linca)
May 10, 2023, 1:37pm
18
export default {
name: "toggle-whispers",
initialize() {
withPluginApi("0.11.0", whisperInit);
},
};
const whisperInit = (api) => {
const currentUser = api.getCurrentUser();
const siteSettings = api._lookupContainer("site-settings:main");
if (currentUser && currentUser.staff && siteSettings.enable_whispers) {
api.attachWidgetAction("post-menu", "toggleWhisper", function () {
const model = this.attrs;
let newType = model.post_type === 1 ? 4 : 1;
ajax(`/posts/${model.id}/post_type`, {
type: "PUT",
data: {
post_type: newType,
},
}).catch(popupAjaxError);
Apparently this code is broken. siteSettings.enable_whispers
has been modified to siteSettings.whisper_allowed_groups
.
You can try my fork here:
2 Likes
ganncamp
(G Ann Campbell)
May 10, 2023, 2:20pm
19
Thanks @Lhc_fl ! Unfortunately, I don’t think I can try your fork since we’re on a hosted instance. But I appreciate your quick investigation! Maybe that will speed up the official fix.
1 Like
You can have any theme component you like. It’s only plugins that need to be official (or vetted)
However, I think @fzngagan will want to fix this one up, so if you can wait it may be better in this case.
2 Likes
It’s actually a pavilion repo
@Lhc_fl PR and I will review.
2 Likes
Do you want to add the pavilion tag?
1 Like
Yeah let’s do that and I’ll discuss if @fzngagan wants to pass the Topic over.
1 Like
@merefield Is there any movement on this? I think it may still be in limbo?
3 Likes
It’s waiting on a (presumably trivial) org decision. I chased today.
2 Likes