Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notify makers when an order is taken (even if they left the site) #48

Closed
Reckless-Satoshi opened this issue Feb 18, 2022 · 2 comments
Closed
Assignees
Labels
enhancement 🆙 New feature or request
Milestone

Comments

@Reckless-Satoshi
Copy link
Collaborator

Reckless-Satoshi commented Feb 18, 2022

Once an order is published in the order book it remains visible for 6 hours. A taker might be found right away or might take hours. Currently makers need to keep a browser tab open, once the taker is found the browser plays a tone. This works well on desktop, specially if you were planning to leave it on anyway. However, it is really difficult to be a maker in the mobile browser (screen turns off and the sound notification never plays).

Possible solutions

Telegram bot

As seen in hodl-hodl. Users get notified on telegram once the order is taken. Cons: users give out an identity that can be used to link all the trades they make under different avatars, breaking completely the privacy model.

Web push

Browser push notifications only have one purpose: annoy you. However... this might be a good use case. It might be a stretch to implement and might not play nicely with mobile Tor Browser. Preliminary research leads me to believe this is indeed possible. A way to speed up implementation is to use djanjo-push-notifications package. However, this is only a valid method as long as it does not require Google's Firebase or APNS. Need to research more about VAPID method to assess plausibility and the privacy trade-offs.

Do not solve and center on Android/iOS release.

Not a short term solution, but by not fixing the notifications right now, more energy can be centered on bringing out the app (... which is a solution).

@Reckless-Satoshi Reckless-Satoshi added the enhancement 🆙 New feature or request label Feb 18, 2022
@Reckless-Satoshi Reckless-Satoshi added this to the v0.2.0 alpha milestone Feb 18, 2022
@Reckless-Satoshi
Copy link
Collaborator Author

After a closer look the telegram notifications might be the easiest/safest to implement, while not really that damaging to privacy. Deep linking can be used to facilitate Robot <-> Telegram client link, avoiding the need for a verification step in chat with the telegram bot.

I am assigning myself, hopefully it is ready in a couple of days.

@Reckless-Satoshi
Copy link
Collaborator Author

Reckless-Satoshi commented Feb 22, 2022

The last pull request merged introduced a messaging system using Telegram. Only two messages were created, and these are only for makers: 1) "Hi {maker_name} I will let you know when someone takes order {order_id}"; 2) "Your order was taken by {taker_nick}, visit {url+order_id} to continue".

When linking Telegram with RoboSats users are exposing their username. RoboSats DOES NOT LOG the telegram usernames, instead it stores the chat_id (unique integers that identify the chat robosat_bot <-> user). The chat_id can potentially be used to learn that multiple robot avatars belong to single entity (yet it requires access to RoboSats DB and some heuristics). In the frontend a dialog box has been introduced to notify users that linking telegram can potentially be detrimental for their anonymity (however, it is very useful!!).

If nothing comes up in the next few days, this issue will be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 🆙 New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant