tenzil

tenzil

One on One chat (Direct Message)

Continuing the discussion from Implement direct messages (no chat room) using phoenix channels:

Has anyone tried this Implement direct messages (no chat room) using phoenix channels - #15 by chrismccord the chrismccord way of communicating one on one conversation? I am trying to achieve this. Blogs and docs talk only about rooms chat
and is live view possible here?

First 3 of 3 Posts Switch mode

Qqwy

Qqwy

TypeCheck Core Team

A very common approach to implementing direct messages, is to see a private communication between two people as “a (private) room chat with only two people”. When you do that, all knowledge and techniques of implementing normal room chats carries over.

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

This approach is particularly a good idea because just that a conversation is 1 on 1 between two individuals does not mean that is 1 to 1 between two channels. If Bob is talking directly to Larry, Bob may still have 2 tabs open, and so Larry’s messages need to be sent to two different channels.

tenzil

tenzil OP

Yeah, thought about it, broadcasting to two different channels.
when i visited twitter, i noticed that it sends msgs on messages/sender-receiver => https://twitter.com/messages/1853271-3014443028
then i tried the same, to get both the users to be connected on a single socket,
“localhost/chat/sender-receiver” it worked fine, Later i thought to know it could be bit less performant when urls are created dynamically.
so planning to create a table private_chats with these columns with unique constraints (initiator_id, receiver_id, room, active). This way two people can chat on the specific room.
Hope it works, anybody has any suggestion on this. is this is a good way.

— All posts loaded —

Where Next?

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
silverdr
Using Phoenix.LiveView.TagEngine as an EEx.Engine is deprecated! To compile HEEx, use Phoenix.LiveView.TagEngine.compile/2 instead. Sta...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
michallepicki
I am using Oban and occasionally, shortly after a deployment, a handful of jobs can fail because of dependency on other parts of the syst...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New

We're in Beta

About us Mission Statement