Creating a 1:1 chat

As suggested by @ThinhDinh, I’m trying to follow the instructions posted by @Lisa here, but I’m stuck.

This may seem like a silly question, but I’m not seeing a messages tab on the profile screen after sending a message request. How is it created?

And the actual messages screen? Is all the data stored in the same chat sheet (chat sheet holds the chatID etc.) or do I have to create an additional sheet for this?

When I click on the profile above, I can see that it successfully pulls the data from my chat sheet. It shows an image placeholder and the sender’s email address. In my sheet I wanted to create a relation column and link it to the user profiles in order to create a lookup column and fetch the user’s avatar, but it only shows me other columns of the same chat sheet to connect with. What am I missing?

2 Likes

Hello, @nikatronic .
I just recently built one, and create a blog, video and example app here - How to build private chat on Glide

Hope you find it useful)

8 Likes

What do you have already in the flow?

Firstly the Messages tab won’t appear by itself, you have to create it. Do you build a flow with chat requests, or is it built right on top of the user profiles table? Let’s say you are having chat requests in their own rows, you would have to create a Sheet to store those. Each of those requests will have a rowID.

Then inside the details view of each chat request, to allow users to chat with each other, add a comments component with the topic ID being the row ID of the request.

That should get you started. Do you need any further help? I’m not entirely sure I understand your last paragraph.

1 Like

That’s a great write-up! Consider changing your date time format here and it’s perfect.

1 Like

@ThinhDinh hah, thanks, will update the format later))

2 Likes

Hah, @ThinhDinh . Actually, when I tried to fix it, I face with the problem that Glide doesn’t save the date format when Looking-up the date. Fixed it for myself, then found your comment/solution here. :blush: :blush: :blush:

1 Like

Wow @Andriy_Bas, thanks a lot! That’s more than I expected. I’ll try this.

@ThinhDinh: I tried to recreate the screens/tables Lisa used and was hoping it would all make sense once I connect the sheets, but it didn’t work out this way. :joy:

3 Likes

Tryna create “Is my chat”, but there is no signed-in user option:thinking:
Do I have to activate this somewhere?

Very nice. One suggestion would be to apply row owners to user one and user two in the chat sheet. That would ensure data security between user chats so others can’t snoop the data and see other people’s conversations.

2 Likes

Do you have your app set up as public or public with email? Also, so you have user profiles set up?

It’s a private app. Not published yet. I’m creating it for an NGO, so this version will remain private, but I will share a public copy with dummy data later. And yes, I added staff members.

It’s limited access by password for now, but you’re probably right that this is the issue, I had the same problem at an earlier stage before I pulled this copy.

1 Like

User_One column wasn’t set to email, but to text. :woman_facepalming:

1 Like

Yeah setting the app to use a password will not require users to sign in with an email, so you would not have access to ‘is signed in user’ since you wouldn’t have a way to authenticate which user is which.

Making progress here and learning a lot! :robot: Quick question @Andriy_Bas and @ThinhDinh : Is “Created at” in this app the same as “chatTimestamp” used by Lisa when initiating the chat? I had started out with Lisa’s tutorial, but now switched to this one, so I’m wondering if I can just replace the timestamp in the initial submit form.

I noticed that two columns’ headlines seem mixed up (Blocked users Rel and Blocked by user Rel).
And for some reason I cannot add “Last message time” to the “Has messages” column. It doesn’t appear in my list of options, although I created the column. :thinking:

2 Likes

I was able to add “last message time” after I had actually sent messages. I think it’s working… Testing now… :pray:t3:

The first message and reply went well, but when I want to write to a second person and click on the “start new chat” button, the message screen with the “not me photo” doesn’t open. Instead it creates a new message right away below the first one, and it contains the very same text I sent to the last user. Replying to this message will then open the “start a new message screen with the not me photo”, but when I send a message, it changes everyone’s last message to the same last message line. I’m sure there’s a way to specify the last message so that every user sees only the last message sent within their conversation? What’s also weird is that Chat 1 and Chat 2 will only show this icon :man_shrugging: instead of the user names or emails.
And I was wondering which formula I can use to hide the “start a chat” button on the user’s own profile. They should only see the button when they visit other people’s profiles.

1 Like

Found the mistake. In Last Messages Rel I used “Messages (Sheet) > Whole row” instead of “Messages (rel) > Whole row”. :see_no_evil:

2 Likes

I used the visibility setting “email isn’t signed-in user” to hide the button on my own profile. Case solved. Happy end. We can all go sleep now. :ghost:

Hi guys, we started to test the app and I noticed that my message counter counts ALL the messages anyone sends, no matter who the receiver is. How can I set this up to stop the counter from counting other people’s messages?

@Andriy_Bas: I’m using your setup of the 1:1 Chat Example. Can you help?