Coder Social home page Coder Social logo

Comments (7)

NullVoxPopuli avatar NullVoxPopuli commented on June 4, 2024

wow @tonowoe thanks for spending the time to come up with all of that.
There is some really good stuff in there.

I'll address each of your bullets later today, but wanted to address concerns first.

Open graph response feature and its privacy issues. If I want to send some URL to a contact, let's say like https://google.com, I don't want that my browser makes a http request to Google.

Here is an example of an open graph request
image
I pasted the link to this issue (thanks again, btw!), and it make a request to one of the relays.
If you'd like to audit the code for open graph, it's here: https://github.com/NullVoxPopuli/mesh-relay-phoenix/blob/master/lib/mesh_relay_web/controllers/open_graph_controller.ex#L1

what is more of a concern, is the lack of rel="noopener" on the links, which is described here: #34

Is adding a contact somewhat confusing right now?

It was -- haven't heard feedback until now about the current setup -- it used to be two buttons for adding / inviting -- I combined them into one button/modal.
I agree that the "Add Friend" button in the dropdown is out of place. I'll do some pondering on this. Thanks!

from emberclear.

tonowoe avatar tonowoe commented on June 4, 2024

About the open graph request. I think I wasn't fully clear what I meant. But this is what I meant: https://streamable.com/8f1q2

Both recipient's and sender's browser makes a request to the URL linked (to the host where the open graph image is served from). I don't like that, I would like that all data (the image and possible all other data) would be served from the relays.

from emberclear.

NullVoxPopuli avatar NullVoxPopuli commented on June 4, 2024

Both recipient's and sender's browser makes a request to the URL linked (to the host where the open graph image is served from).

ah yes! that should def be proxied! good find!

from emberclear.

NullVoxPopuli avatar NullVoxPopuli commented on June 4, 2024
  • Read receipts feature would be a good feature to have. ... Show the "✔️" mark when the message is successfully sent/received on the server-side, and "✔️✔️" when it's actually read ... Option for users to opt-out from this (so it shows only "✔️").

I like this idea! enhancement issue made here: #38

Open graph preview image

this is def pretty serious: tracked issue here: #39

Make the chat UI look like how almost all modern chat UI's do, where the sender's messages are floating on the right with some color, and the recipient's messages are gray floating on the left side ... also keep the current "IRC like" styling, so a user can choose how the chat UI looks.

related: #23
also, #40

  • When the chat is opened, why is there are "Chat" link in the top right navigation bar?

So you can navigate to a chat if you have the sidebar closed?
image

idk, it might be redundant

I would remove the button from the dropdown menu, and just show list of links (Contacts, Settings, <hr> Logout).

this is done :)

Then in the Contacts page, I would display a button to add a contact. I think that would be more straightforwarded/coherent.

#41

I wouldn't use two different words to convey the same information. Now "Contact" and "Friend" are both used to mean the same thing. Use only "contact"?

#42

A feature where user can mute contacts.

#43

A feature where user can turn on an "invisible mode" (so the online status is hidden) from the settings.

#44

If there will be an emoji support in the future, make it so that the user can disable emojis from the settings.

#29

"Last seen" feature. Should be done in a way users can opt-out from it.

can you explain more on this one?

The red unread number count tag in the left sidebar and the "x new messages since Nov 26, 01:26 AM | Mark all as read" notifiaction are sometimes bugging. Red unread tag won't disappear unless I switch to some other chat or other page like settings. And the notify message won't disappear even I send new messages to the contact, meaning I have to manually click the "Mark all as read".

#47

A feature where a sound is played when a message/notification is received.

#45

A feature where the title of the page is updated by the count of unread messages. So if my tab is inactive and a contact is sending me messages, title would update everytime I receive a new message from the chat I have open in the tab. So if I have 6 unread messages in the chat, title would be "(6) emberclear", and when I open the tab, title would go back to "emberclear".

#46

A feature where you can sort the contacts list how you want.

I don't think I want to do this one. There is ctrl+k searching :)

Thanks again for all of these ideas!

from emberclear.

tonowoe avatar tonowoe commented on June 4, 2024

When the chat is opened, why is there are "Chat" link in the top right navigation bar?

So you can navigate to a chat if you have the sidebar closed?
image
idk, it might be redundant

Ah I see, it's fine imo, idk.

"Last seen" feature. Should be done in a way users can opt-out from it.

can you explain more on this one?

Last seen refers to the last time the contact used emberchat. Basically the server would store a last seen timestamp when you've last had your emberchat tab active. If I close/leave the emberchat tab at 27th November 04:20 AM, my contacts would see my last seen status, which would be that 27th November 04:20 AM.

A feature where you can sort the contacts list how you want.

I don't think I want to do this one. There is ctrl+k searching :)

Hmm, how about pinning chats? I've noticed it's really useful feature in WhatsApp.

Thanks again for all of these ideas!

No problem, this is really important and cool project!

from emberclear.

NullVoxPopuli avatar NullVoxPopuli commented on June 4, 2024

Basically the server would store a last seen timestamp when you've last had your emberchat tab active.

the servers can't store anything. One of the constraints on this project is that we don't trust the servers, because they are maintained by heroku, AWS, google, etc -- so relying on stateful features seems risky to me.

Hmm, how about pinning chats?

This could be a thing, for sure. #48

No problem, this is really important and cool project!

thanks! :D

from emberclear.

tonowoe avatar tonowoe commented on June 4, 2024

the servers can't store anything. One of the constraints on this project is that we don't trust the servers, because they are maintained by heroku, AWS, google, etc -- so relying on stateful features seems risky to me.

Agreed, makes sense.

from emberclear.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.