Skip to content
This repository has been archived by the owner on Nov 10, 2023. It is now read-only.

Share deeplink to transaction #970

Closed
lukasschor opened this issue May 29, 2020 · 21 comments · Fixed by #2974
Closed

Share deeplink to transaction #970

lukasschor opened this issue May 29, 2020 · 21 comments · Fixed by #2974
Assignees
Labels
effort-mid Medium-effort issues Feature 👑 New functionality

Comments

@lukasschor
Copy link
Member

lukasschor commented May 29, 2020

What is this feature about? (1 sentence)

This allows users to share a specific link to a tx to someone else.

Why is it needed? What is the value? For whom do we build it?

  • Trello actiovity

  • Trello problem statement

  • The best way to refer to a transaction today is via the Safe nonce

  • There can, however, be multiple transactions using the same Safe nonce

  • Incoming transactions don't have a nonce

High-level overview of the feature

  • From a tx, I can get a link to that tx by clicking the button.
  • Clicking the button copies the link to the clipboard
    • There is an info similar to the copy address button saying "Tx link copied to clipboard"
      Screenshot 2021-05-27 at 13.38.28.png
  • This should work for all txs in the queue and history.
  • When a user clicks that link, the Safe app would open on the correct tab (queue/history) and the tx details of that tx open.

image.png

@lukasschor lukasschor added Feature 👑 New functionality Minor Needs to be fixed within the next 1-3 public releases. labels Jun 4, 2020
@lukasschor lukasschor added Major Needs to be fixed for immediate next public release. and removed Minor Needs to be fixed within the next 1-3 public releases. labels Aug 27, 2020
@matextrem matextrem self-assigned this Sep 26, 2020
@tschubotz
Copy link
Member

tschubotz commented Sep 30, 2020

The underlying problem that this is supposed to solve is "Currently, it's tough to reference a Safe transaction when talking to someone else"

Before enabling to share links, I think we should first work on #820 which is the first step to have deterministic tx history views/lists.

So I would actually move this to the icebox for now.

Sorry @matextrem, bad planning on our end here.

@tschubotz tschubotz removed the Major Needs to be fixed for immediate next public release. label Oct 6, 2020
@matextrem matextrem removed their assignment Dec 18, 2020
@lukasschor lukasschor removed the Not now label Apr 8, 2021
@tschubotz tschubotz added the Could "Could" on the current roadmap label Apr 29, 2021
@tschubotz tschubotz changed the title Share link to Safe transaction Share deeplink to transaction Apr 29, 2021
@katspaugh katspaugh added the effort-mid Medium-effort issues label May 28, 2021
@katspaugh
Copy link
Member

There's an API endpoint that allows to fetch a single transaction: https://github.com/gnosis/safe-client-gateway/wiki/transaction_details
We should use it for this feature.

@rudolfs
Copy link

rudolfs commented Jun 9, 2021

This would be useful for our Radicle Orgs feature as well.

@gabriel-horvat
Copy link
Contributor

Hey guys, I'd like to tackle this, if still relevant ?

@katspaugh
Copy link
Member

Hi Gabriel!
Yes, still relevant. To give you a couple pointers:

  • there's a function getTransactionDetails that returns the data for an individual tx
  • we were thinking to make this a separate route like https://rinkeby.gnosis-safe.io/app/#/safes/{safe-address}/transactions/{transaction-id}
  • the route would be similar to the transaction history or queue but display just one transaction

Hope this helps, let me know if you have any questions.

@gabriel-horvat
Copy link
Contributor

Hey @katspaugh !

Thanks for the pointers. Really helpful.
Will probably be back with questions/clarifications later, but good to start on it for now :)

@gabriel-horvat
Copy link
Contributor

gabriel-horvat commented Sep 9, 2021

For dev environment/debugging, how do you guys "un-obfuscate" random-generated CSS classnames?

for eg:
Screen Shot 2021-09-09 at 2 20 04 PM

Had only encountered them in prod thus far

@mmv08
Copy link
Member

mmv08 commented Sep 9, 2021

For dev environment/debugging, how do you guys "un-obfuscate" random-generated CSS classnames?

for eg:
Screen Shot 2021-09-09 at 2 20 04 PM

Had only encountered them in prod thus far

It is how the styled-components library works, I'm not sure if it's (easily) possible to fix that. We don't even assign class names in the app, only in the old code which didn't make use of this lib

@gabriel-horvat
Copy link
Contributor

gabriel-horvat commented Sep 9, 2021

Ok. How do you quickly go to the component you wanna edit then? Going off of chrome dev tools?

For eg I wanna edit this row component for all transactions (add copy button)

Screen Shot 2021-09-09 at 2 23 59 PM

I can of course find it by going through the code, but the fast way would be to copy paste the classname from dev tools into VsCode. That would directly get me the file I'm looking for in a couple of sec...

There must be an easy fix for this that I'm just unaware of 😉

@mmv08
Copy link
Member

mmv08 commented Sep 9, 2021

React DevTools for the component name / Control (cmd) + Shift + F

@anxolin
Copy link

anxolin commented Oct 6, 2021

Okay, thanks for the update. The url structure looks good to me, although if you plan to included it tentatively by the end of the month, then I will release on our end not pointing to this new URL (we plan to release earlier)

I will keep a close watch in this one 👀
Let me know when you make it into a release, so I can include it!

@katspaugh
Copy link
Member

@gabriel-horvat it's completely understandable if you don't have time to work on this.
We'd be happy to overtake. And if you're still interested in contributing to this project, I could suggest something smaller.

@gabriel-horvat
Copy link
Contributor

@katspaugh @anxolin yes, that's a good idea. I got completely swamped with other work right now. Best to leave it to you guys for right now.

So sorry about that.

@katspaugh
Copy link
Member

No problem at all! Thanks for your prior contribution and hope we can do something cool in future.

@anxolin
Copy link

anxolin commented Oct 28, 2021

@katspaugh, I'm really interested in this feature, is there any estimation on when we could expect it?

CowSwap will release soon a tight integration with Gnosis safe, and we want to redirect the user to the safe transaction details (instead of sending them to the list of pending transactions).

We want to do this, so the user approves easily any pending operation in CowSwap.
If there's multiple pending transaction, it's harder for the user to find which one they should approve.
Also, we allow the user to follow a link from their trade history that takes them to the specific Gnosis Safe transaction, but if this one was executed, we send them to an empty list (is not pending anymore).

@lukasschor
Copy link
Member Author

@anxolin Agree, this would be a big value-add. It's almost at the top of the product backlog, so hopefully, it will be included in (one of) the next sprint(s)

@iamacook iamacook self-assigned this Nov 8, 2021
@iamacook iamacook added the Blocked 🤷 Blocked by external dependencies label Nov 9, 2021
@iamacook iamacook changed the title Share deeplink to transaction BLOCKED: Share deeplink to transaction Nov 9, 2021
@iamacook iamacook changed the title BLOCKED: Share deeplink to transaction Share deeplink to transaction Nov 9, 2021
@iamacook iamacook removed the Blocked 🤷 Blocked by external dependencies label Nov 11, 2021
@iamacook iamacook assigned dasanra and katspaugh and unassigned dasanra Nov 12, 2021
@johannesmoormann johannesmoormann added epic-cowswap and removed Could "Could" on the current roadmap labels Nov 18, 2021
@iamacook iamacook assigned katspaugh and dasanra and unassigned katspaugh and dasanra Nov 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
effort-mid Medium-effort issues Feature 👑 New functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.