Comments (7)
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
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.
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.
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.
- 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.
- 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?
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.
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"?
A feature where user can mute contacts.
A feature where user can turn on an "invisible mode" (so the online status is hidden) from the settings.
If there will be an emoji support in the future, make it so that the user can disable emojis from the settings.
"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".
A feature where a sound is played when a message/notification is received.
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".
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.
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.
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.
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)
- Weekly Digest (5 July, 2020 - 12 July, 2020)
- Weekly Digest (12 July, 2020 - 19 July, 2020)
- Webrtc resources
- Weekly Digest (19 July, 2020 - 26 July, 2020)
- Weekly Digest (26 July, 2020 - 2 August, 2020)
- Weekly Digest (2 August, 2020 - 9 August, 2020)
- Create embeddable floating widget
- New app: decentralized Pinochle HOT 1
- contacts keep disappearing HOT 9
- Investigate sqlite
- Web RTC
- Use ember-promise-worker to help reduce code in *this* repo
- actually do some maintenance HOT 4
- New Project Structure HOT 1
- Tips'n'Tricks -- general things learned while working on this project that could be used any any project HOT 1
- Uninstall Service Workers older than a week
- use navigator.onLine status changes to reboot the socket connection
- Try disabling AMD? HOT 1
- Use popper for popup/overlay positioning
- Weekly Digest (28 June, 2020 - 5 July, 2020)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emberclear.