Finding PMs sent to users who never posted in the topic


(Tobias Eigen) #1

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:

(Jeff Atwood) #2

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


(Tobias Eigen) #3

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.


(Jeff Atwood) #4

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!


(Tobias Eigen) #5

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:


(Jeff Atwood) #6

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.


(Tobias Eigen) #7

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.


(Jeff Atwood) #8

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”.


(Tobias Eigen) #9

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


(Jeff Atwood) #10

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


(Tobias Eigen) #11

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.


(Jeff Atwood) #12

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.


(Mittineague) #13

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.


(Stephen) #14

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.


#15

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.