Finding PMs sent to users who never posted in the topic

On our site, we use messages as a ticket system so we don’t drop any balls. However, I’ve just realized that only admins have a view into user messages. Moderators can’t see them except in the moderators inbox.

I’m not entirely sure what the fix is here but it seems very broken right now.

  1. Even as admin, when in the moderators inbox the search does not show me any results when I search for a username that I know is there. Is this a bug?
  • to replicate:
    • go to moderators group inbox
    • open up a message with a user and note the username
    • go back to the group inbox
    • search :mag: for username. tick to “search messages”. get no results. be sad. :frowning:
      11%20PM
  1. Admins are able to see the messages tab on user profiles and read the messages which I have always found to be super useful. But moderators see no messages tab, even if the moderators group has one or more messages with the user. Same is true of users corresponding with another user or members of other groups the user is messaging with.
  • to replicate:
    • log in as moderator and search :mag: for username. Yay! Results shown. click through to go to user profile
    • No messages tab. No way to see messages the moderators group has with the user. Be sad. :frowning:
2 Likes

You mean the body content of the message contains the string chiluukhanh? Searching for a username requires @username syntax.

Thanks, Jeff.

No, the body content of the message does not contain chiluukhanh. But there is a message between moderators and chiluukhanh. See screenshot. searching for chiluukhanh and @chiluukhanh both show no results when searching messages, even as admin.

That person posted nothing in the topic, why would you expect hits? If you are trying to search for people who did not post in the topic you will need to add their name in the first post:

Welcome to {thing}, username!

Right, I can see from your perspective that this is working as expected. For topics that makes sense.

But in messages I would have thought (and hoped) that searching the group inbox for a username would give me a list of messages the group has going with that user.

I’d be grateful for any pointers on how to get such a list, if not here. :seedling:

This is frankly an insane use case. Topics and PMs are the same thing, except that PMs have a strict list of who can see the topic.

Insane? :crazy_face:

OK - I think I understand how it works now, and am on board with how messages and topics are the same. It’s one of the things that makes this work for us as a ticket system. But I am not sure why you think it’s insane to be searching for messages to a specific user in a group inbox or any inbox for that matter. I’m sure it happens all the time.

1 Like

You’re searching for someone who never participated in the topic. It would be like on Google doing a search for “webpages Bob didn’t create yet”.

… or in your email for a message you sent to somebody, but they haven’t replied yet.

In that case, search for messages by you. That’s content you can search for, since you actually posted it.

Right. I understand that that’s how it works. But this is an inbox filled with PMs we’re talking about here and not a public category filled with topics. I know we’re not seeking to replicate email, but the ability to search for who messages are to as well as from, and the title and body, seems reasonable to me. And immensely useful.

I will contemplate solutions, like giving more people on my team admin access so they can see the messages tab on user profiles and use that to help with following up with people who have not yet replied to messages we’ve sent them. And finding some way to bulk add the username to the body of the message for the backlog so they appear in searches. Both of these solutions are not very attractive to me at this moment in time.

Email is radically different, as literal copies of the original email are created and sent – one distinct copy arrives in the mailbox of each person it is sent to. There are no copies in Discourse, only one database record.

1 Like

You could try querying the topics table against the archetype value to get the topic ids of messages. Then query the topic users table using those ids to get some information.

https://github.com/discourse/discourse/blob/master/app/models/topic_user.rb#L484-L504

1 Like

This isn’t true, there are email systems which only store a single instance of a message with pointers for each recipient that received it.

Single instance storage

Microsoft used SIS up until Exchange 2010, when storage became cheap enough (and messaging environments suitably large) that it no longer made sense to do.

In those cases only copies which are transmitted externally via SMTP to third party servers lead to duplication.

I’m not sure email is a great example either, being designed to traverse multiple diverse systems and platforms with only a semi-common protocol.

I think this is really similar in spirit to this old topic: Show recipient in "sent" personal messages.

I don’t think most users will look at it like “I want to see the set of topics that this set of users that includes me share private access to”. In practice we just want to be able to quickly find some moderation (or other type) of message that the other guy didn’t reply to, and they can be potentially hard to find at the moment.

The workaround we’ve been using has been just bugging people to make trivial responses they otherwise wouldn’t make.

5 Likes

+1

I just wasted a lot of time, trying to figure out if I’ve already pm’d some users. I send a lot of pm’s to people to check in with them… when they don’t reply, I would like to take “ignored me” as answer… but when I can’t find my messages. :frowning:

When searching within messages, why can’t that simply include people who have access to the topic?

1 Like

View their message box as an admin. You will see your message there if you sent it.

3 Likes

ok, cool, that at least gets me what I want.

But honestly, nosing in peoples message boxes as an admin— that’s not something I want to “need” to do to figure out if I sent them a message. I consider nosing through their messages an invasion of their privacy.

…could we have a new control in the advanced search for “also search topic participants”? When searching on my messages, that would let me find people I’ve sent a pm “to”.

2 Likes

You can look in your sent pms rather then looking in you inbox. It’s a couple of clicks but you can find it.

3 Likes

actually I can’t. In my sent, and archive, if the user never replied, I’m the only user in the topic. It’s just a long list of mostly my avatar image.

It needs to be a search, or as @codinghorror mentioned, dig into their personal communication via my admin powers… which obv doesnt work for most ppl who wanted to see who they’ve sen ‘to’

:slight_smile:

2 Likes